具有两个具有引用键的表的sql查询
我有两张桌子:具有两个具有引用键的表的sql查询,sql,isqlquery,Sql,Isqlquery,我有两张桌子: Discounts(disid primary key) Cust(custid primary key, disid ref discount(disid)) 现在,我需要一个查询来获取拥有所有disid(折扣券)的custid,并且客户可能多次包含相同的disid。尝试以下任一解决方案: select custid, count(distinct disid) from cust group by custid having count(*) = (select coun
Discounts(disid primary key)
Cust(custid primary key, disid ref discount(disid))
现在,我需要一个查询来获取拥有所有
disid
(折扣券)的custid
,并且客户可能多次包含相同的disid
。尝试以下任一解决方案:
select custid, count(distinct disid) from cust
group by custid
having count(*) = (select count(*) from discounts)
SELECT a.custid, COUNT(a.disid) totalCoupon
FROM cust a
INNER JOIN discounts b
ON b.disid = a.disid
GROUP BY a.custid
或
请尝试以下任一解决方案:
SELECT a.custid, COUNT(a.disid) totalCoupon
FROM cust a
INNER JOIN discounts b
ON b.disid = a.disid
GROUP BY a.custid
或
一个简单的连接就不行了?如果没有更多的信息需要一个简单的加入不会做吗?如果没有更多的信息需要
SELECT a.custid, COUNT(a.disid) totalCoupon
FROM cust a
INNER JOIN discounts b
ON b.disid = a.disid
GROUP BY a.custid
HAVING COUNT(a.disid) > 1 -- customers having the same (but more than 1)
-- CouponID will only be shown here