Topic: sql запрос с вложением

Есть 2 таблицы:
- klient
- kash (содержит поле id_klient)

Необходимо из первой таблицы вывести клиентов из таблицы klient которых нет в таблице kash.
Суть такова что я отбираю из таблицы kash групировкой 
select id_klient from kash left join kash on kash.id_klient=klient.id group by id_klient
на выходе допустим результат 1,2,3 и 5 (те кто оплатил занятия из ранее приложенного проекта). Запрос там конечно сложнее но достаточно и указанного выше
---SELECT count(id) FROM kash WHERE (id_klient=' + IntToStr(Main.stud.dbItemID) + ') and (period2 >='+ sDate +')

теперь из таблицы клиентов надо убрать те которые отобрались в пером запросе
select id from klient where not exists ла-ла-ла

свожу оба запроса вместе но результат не получается который нужен.
select id from klient where not exists (select id_klient from kash left join kash on kash.id_klient=klient.id group by id_klient)

Re: sql запрос с вложением

Попробуйте так, но не проверял )

SELECT 
klient.name 

FROM klient 

WHERE (SELECT count(kash.id) FROM kash WHERE kash.id_klient = klient.id) = 0
Dmitry.

Re: sql запрос с вложением

спасибо. я как всегда усложнил сперва.