|
|
|
| Допустим у меня есть запрос в котором одно из значений вычисляется подзапросом, как можно это значение учитывать в 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. Она отвечает за пренадлежность пользователя к команде, а подзапросом я узнаю сколько уже участников в этой команде | |
|
|
|
|
|
|
|
для: buka
(29.06.2008 в 13:59)
| | Когда обрабатывается WHERE, результат подзапроса ещё неизвестен. Можно записать этот предикат в HAVING. | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|