我有2个表X和Y,

表X(有5条记录)

Cust_Id  Prod_Key
 1        'A'
 1        'D'
 2        'C'
 3        'D'
 2        'B'


表Y(有2条记录)

Prod_Key
  'A'
  'D'


需要SQL列出具有表Y中所有产品的Cust_ID。
〜由于表不断更新,无法硬编码

最佳答案

您可以尝试以下方法:

select
  cust_id
from
  Y
LEFT OUTER JOIN
  X
  on Y.Prod_key = X.Prod_key
Group by
  Cust_id
having
 count(DISTINCT X.Prod_key) = (select count(*) from Y);


SQL FIDDLE DEMO

10-08 17:25