Автор Тема: Хитрый запрос  (Прочитано 3132 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Хитрый запрос
« : 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

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Хитрый запрос
« Ответ #1 : 05 Июня 2007, 16:58:42 »
up

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Хитрый запрос
« Ответ #2 : 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

тема закрыта

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28