Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CASE WHEN THEN 
:(
    Опции темы
Smorodin
Дата 5.1.2011, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрейший
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 10.4.2006
Где: Пермь

Репутация: нет
Всего: 1



К примеру, есть запрос:

Код

SELECT ntfc_news.action, ntfc_news.from_t, ntfc_news.from_id, ntfc_news.p_id,
CASE WHEN ntfc_news.from_t =1
THEN (

SELECT `name`
FROM `profiles`
WHERE `uid` = ntfc_news.from_id
LIMIT 1
)
WHEN ntfc_news.from_t =2
THEN (

SELECT `group`
FROM `community`
WHERE `id` = ntfc_news.from_id
LIMIT 1
)
ELSE 'etc'
END AS `from_name`

FROM .....   WHERE.....


то есть результат ветвления выводится в поле from_name.

В некоторых ветвях необходим еще запрос, с выводом результата, скажем, AS `from_data`.

Как это сделать?


--------------------
Сделать можно все, только вопрос - когда?
PM MAIL Skype   Вверх
skyboy
Дата 5.1.2011, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



вместо кучи case when - группа отдельных запросов, объединенных через union all
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.