1

2 つのテーブル (AllClients と AllActivities) があり、次の情報を取得する必要があります。

関連するアクティビティがないクライアントのリストが必要です。

私が探しているものを説明するのに役立ついくつかの偽のデータを含む私の表は次のとおりです。

http://www.givingdirection.com/table.jpg

Sam Johnson にはアクティビティがなく、TypeCode が「P」であるため、Sam Johnson を取得するには基本的に sql が必要です。

4

4 に答える 4

2

必ずしも参加する必要はありません

select *
from AllClients c
where TypeCode = 'P'
and not exists (select 1 from AllActivities a where a.LookupCode = c.LookupCode)
于 2013-10-11T14:26:26.410 に答える
1
select c.*
from AllClients c 
left join AllActivities a on a.LoopupCode = c.LoopupCode 
where a.LoopupCode is null
and c.TypeCode = 'P'
于 2013-10-11T14:26:02.963 に答える
1
SELECT * 
FROM 
   AllClients 
WHERE 
   NOT EXISTS(SELECT 1 FROM AllActivities WHERE AllActivities.lookUpCode = AllClients.lookUpCode) 
   AND TypeCode = 'P'
于 2013-10-11T14:26:51.897 に答える
0

INバージョンがないため:

select *
from AllClients c
where TypeCode = 'P'
and LookupCode not in (select distinct LookupCode from AllActivities)
于 2013-10-11T14:30:35.277 に答える