0

書籍を注文した顧客の CustID と BookNo を含む Orders テーブルがあります。すべての BookNo を含む別のテーブル Books があります。

BookNo をすべて注文したすべての CustID を表示したいと考えています。

セット内のすべての値を「OR」ではなく「AND」として一致させる「IN」関数のようなものが便利です。

答えではないにしても、簡単な手がかりはありますか?

4

3 に答える 3

0

すべての本を注文した顧客のみを取得するには、顧客ごとにグループ化し、顧客が注文した本の数を数えて、本の総数と比較します。

select c.custid 
from customers c
inner join books b on b.bookno = c.bookno
group by c.custid
having count(distinct b.bookno) = (select count(distinct bookno) from books)
于 2013-03-07T11:26:53.800 に答える
0

select custId from Orders group by CustID by count(*) = (select count(distinct bookNo) from Books);

于 2013-03-07T11:37:39.343 に答える