Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Результат подзапроса в WHERE
 
 автор: buka   (29.06.2008 в 13:59)   письмо автору
 
 

Допустим у меня есть запрос в котором одно из значений вычисляется подзапросом, как можно это значение учитывать в WHERE ?

Пример запроса

SELECT c.id,c.name,
( SELECT COUNT(*) FROM user_to_command WHERE command_id = c.id ) AS rate
FROM commands c

То есть в таблице user_to_command два столбца, user_id,command_id. Она отвечает за пренадлежность пользователя к команде, а подзапросом я узнаю сколько уже участников в этой команде

   
 
 автор: Эй   (29.06.2008 в 22:33)   письмо автору
 
   для: buka   (29.06.2008 в 13:59)
 

Когда обрабатывается WHERE, результат подзапроса ещё неизвестен. Можно записать этот предикат в HAVING.

   
 
 автор: exp   (30.06.2008 в 00:25)   письмо автору
 
   для: buka   (29.06.2008 в 13:59)
 

можно сделать проще, без подзапроса

так:
SELECT c.id, c.name, COUNT( user_to_command.command_id ) AS rate
FROM с, user_to_command
WHERE user_to_command.command_id = c.id
GROUP BY c.id ;

или с JOIN

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования