|
|
|
| никак не могу сделать запрос.
мне нужно подсчитать сколько в поле yes пустых (NULL) и непустых значений в первой таблице (table_1),
при условии что поле end во второй таблице (table_2) равно NULL. таблицы связаны по id
table_1.id = table_2.id
помогите, если не трудно.
пока моих знаний хватило только на это:
SELECT `id` FROM `tabl_1` where `end` is null
SELECT tabl_1.id FROM `tabl_1`,`tabl_2` where tabl_1.end is null AND tabl_1.id = tabl_2.id AND tabl_2.end is null ORDER BY tabl_1.id
|
т.е. 2 запроса. узнаю сколько всего ответов приходит, потом с помощью php узнаю количество пустых и не пустых. | |
|
|
|
|
|
|
|
для: ProtoTeeP
(19.11.2007 в 13:13)
| | Запрос
SELECT COUNT(*) FROM tabl_1
|
вернёт количество записей в таблице tabl_1, запрос
SELECT COUNT(`yes`) FROM tabl_1
|
вернёт количество записей, с полем `yes` отличных от NULL.
PS Т.е. всё равно придётся осущестувлять два запроса. | |
|
|
|
|
|
|
|
для: ProtoTeeP
(19.11.2007 в 13:13)
| |
SELECT tabl_1.yes IS NULL AS empty,
COUNT(`tabl_1`.`id`) AS cnt
FROM tabl_1 JOIN tabl_2 ON tabl_1.id = tabl_2.id
WHERE tabl_2.end IS NULL
GROUP BY empty
|
| |
|
|
|
|
|
|
|
для: Trianon
(19.11.2007 в 20:21)
| | спасибо большое, за советы...
но что-то не работает. результат приходит неправильный.
я поступил так:
SELECT
COUNT(IFNULL(tabl_1.yes,0)) as n1,
COUNT(tabl_2.end) as n2
FROM `tabl_1`,`tabl_2`
where
tabl_1.yes is null
AND
tabl_1.id = tabl_2.id
order by `end`
|
вроде все работает... но правильно ли я сделал? | |
|
|
|
|
|
|
|
для: ProtoTeeP
(20.11.2007 в 06:20)
| | Как описали задачу, так я и ответил.
Чтобы понять, что не так, приводите дамп краткого иллюстрирующего примера таблицы,
и ответ, который ожидаете получить. | |
|
|
|