2016-07-25 5 views
-1

ParentChildとChildの2つのテーブルがあります。子テーブルの子要素と完全に一致するアイテムを照会する方法

ParentChildテーブルには2つの列のPIDとCIDがあり、1つのPIDは複数のCIDにマッピングできます。子テーブルには個別のCIDが含まれています。問題は、子テーブルのCIDが必ずしもParentChildテーブルのすべてのCIDをカバーするとは限りません。

ここで、すべてのPIDがすべてのCIDを子テーブルに持つことを確認します。例: P1に3つのCIDがあり、すべてが子テーブルにある場合はP1が選択されます。 P2には2つのCIDがあり、すべてが子表にない場合はP2は選択されません。

明確かつ効果的な方法でクエリを作成するにはどうすればよいですか?すべての子どもたちが一致

select pc.pid 
from parentchild pc left join 
    child c 
    on pc.cid = c.cid 
group by pc.pid 
having count(*) = count(c.cid); 

最後の条件をチェックします。

+0

いくつかのサンプルデータを示します。 –

答えて

3

一つの方法は、集約を使用しています。

関連する問題