我是SQL新手,我想写一个查询来查找任何特定商店的独特客户。 例如:SH1商店注册了10个客户,其中10个客户也注册了其他商店。我想要一个查询,它会将独特的7位客户返回到商店SH1。
ShopId
和CustomerId
都存储在同一个表中,因此我猜需要一个子查询。
谢谢, MAYUR
示例数据:
ShopId CustomerId
在上面的示例中,如果我运行商店ID Shop1的查询,我应该得到Cust001,作为回报,它是Shop1独有的而不是Cust002,因为它与其他商店ID相关联。
答案 0 :(得分:1)
我想你可以做到这一点
select distinct customerId from tablename where shopId = 'SH1' and customerId not in (select customerId from tablename where shopId<>'SH1');
答案 1 :(得分:1)
如果您想知道他们注册的商店
SELECT CustomerID,
ShopID
FROM shop
WHERE CustomerID IN (
SELECT CustomerID
FROM shop
GROUP BY CustomerID
HAVING COUNT(ShopID) = 1)
答案 2 :(得分:0)
您需要独特的客户
SELECT CUSTID FROM SHOP GROUP BY CUSTID HAVING( COUNT(SHOPID) = 1)