forum.bitel.ru http://forum.bitel.ru/ |
|
Вопрос по sql http://forum.bitel.ru/viewtopic.php?f=22&t=3978 |
Страница 1 из 1 |
Автор: | rix [ 04 май 2010, 11:25 ] |
Заголовок сообщения: | Вопрос по sql |
Как получить договоры, у которых не задан определенный параметр? |
Автор: | dimOn [ 04 май 2010, 11:33 ] |
Заголовок сообщения: | Re: Вопрос по sql |
Составить запрос, выполнить, проанализировать результат. |
Автор: | rix [ 04 май 2010, 11:39 ] |
Заголовок сообщения: | Re: Вопрос по sql |
В том и вопрос, как такой запрос составить - SELECT cid FROM contract_parameter_type_1 WHERE pid=10 and val IS NULL работать не будет |
Автор: | Cromeshnic [ 04 май 2010, 11:49 ] |
Заголовок сообщения: | Re: Вопрос по sql |
SELECT c.id FROM contract c left join contract_parameter_type_1 cp on c.id=cp.cid and cp.pid=10 where cp.val IS NULL; |
Автор: | dimOn [ 04 май 2010, 11:54 ] |
Заголовок сообщения: | Re: Вопрос по sql |
rix писал(а): В том и вопрос, как такой запрос составить - SELECT cid FROM contract_parameter_type_1 WHERE pid=10 and val IS NULL работать не будет Конечно не будет, прежде чем проверить значение присоединяемой таблицы на null надо её куда-нибудь присоединить.Типа того Код: select contract.id from contract
left join contract_parameter_type_1 on contract_parameter_type_1.cid=contract.id and contract_parameter_type_1.pid=10 where contract_parameter_type_1.val IS NULL |
Автор: | SafeAndSound [ 04 май 2010, 16:43 ] |
Заголовок сообщения: | Re: Вопрос по sql |
А можно и так Код: SELECT id from contract c
WHERE NOT EXISTS (SELECT null FROM contract_parameter_type_1 cp1 WHERE pid=10 and cp1.cid=c.id) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |