Forum Webscript.Ru

Общие => Базы данных => Тема начата: DartSidius от 26 Мая 2007, 20:24:40

Название: Хитрый запрос
Отправлено: DartSidius от 26 Мая 2007, 20:24:40
Делаю выборку

SELECT news_mod.*,reg_users_mod.id as u_id,reg_users_mod.login as u_login FROM news_mod LEFT JOIN reg_users_mod ON news_mod.author=reg_users_mod.id

т.е. в таблице reg_users_mod находится id и совмещяется с author из news_mod

есть такая фишка что author может быть = 0...т.е. нету..тогда надо бырать что-то вроде reg_users_mod.anonymous=\'Y\'

и обязательно всё в одном запросе...можн как-нить такое сделать..видел что вроде есть if в sql но как то не получилось сделать
Название: Хитрый запрос
Отправлено: DartSidius от 05 Июня 2007, 16:58:42
up
Название: Хитрый запрос
Отправлено: DartSidius от 06 Июня 2007, 10:17:00
Решил задачу сам

SELECT a.*,ELT((b.login <=> NULL)+1,b.login,(SELECT login FROM reg_users_mod WHERE anonymous=\'Y\')) u_login
FROM `news_mod` as a
LEFT JOIN reg_users_mod as b ON a.author=b.id
WHERE 1
ORDER BY b.login ASC

тема закрыта