我对SQL很陌生,我想写一个查询,以找到唯一的客户到任何特定的商店。例如:商店SH1有10个客户注册,在10-3个客户中也注册了一些其他商店。我想要一个查询,它将返回唯一的7名客户购买SH1。
ShopId
和CustomerId
都存储在同一个表中,因此我想需要一个子查询。
谢谢,Mayur
样本数据:
ShopId CustomerId
在上面的示例中,如果我运行对shop id Shop1的查询,我应该得到Cust001、Cust003作为回报,这是Shop1特有的,而不是Cust002,因为它与其他商店id链接。
发布于 2013-03-13 08:59:55
我想你能做到
select distinct customerId from tablename where shopId = 'SH1' and customerId not in (select customerId from tablename where shopId<>'SH1');
发布于 2013-03-13 09:12:26
如果你也想知道他们注册的商店
SELECT CustomerID,
ShopID
FROM shop
WHERE CustomerID IN (
SELECT CustomerID
FROM shop
GROUP BY CustomerID
HAVING COUNT(ShopID) = 1)
发布于 2013-03-13 09:06:59
你需要独特的客户
SELECT CUSTID FROM SHOP GROUP BY CUSTID HAVING( COUNT(SHOPID) = 1)
https://stackoverflow.com/questions/15380613
复制相似问题