SQL检查包含特定值的一组元素

时间:2012-04-18 11:01:24

标签: mysql sql

我需要编写一个查询来检索已下订单的客户的所有电子邮件地址。虽然我需要排除已使用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

提前致谢

1 个答案:

答案 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