我需要编写一个查询来检索已下订单的客户的所有电子邮件地址。虽然我需要排除已使用productId 1订购商品的客户。
当客户订购带有productId 1的产品以及带有不同productId的产品时,需要包含它们。具有不同productId的此产品也可能与同一客户的顺序不同。
所以现在我有点坚持我的疑问。
SELECT DISTINCT [Email] FROM [dbName].[dbo].[Users]
INNER JOIN dbo.Orders on dbo.Orders.CustomerId = dbo.Users.UserId
INNER JOIN dbo.OrderLines on dbo.OrderLines.OrderId = Orders.OrderId
WHERE Users.SubShopID = 1 AND OrderLines.ProductId (continue here?)
ORDER BY Email DESC
提前致谢
答案 0 :(得分:4)
这个怎么样?
SELECT DISTINCT [Email] FROM [dbName].[dbo].[Users]
INNER JOIN dbo.Orders on dbo.Orders.CustomerId = dbo.Users.UserId
INNER JOIN dbo.OrderLines on dbo.OrderLines.OrderId = Orders.OrderId
WHERE Users.SubShopID = 1
AND OrderLines.ProductId <> 1
ORDER BY Email DESC