1

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

提前致谢

4

1 回答 1

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
于 2012-04-18T11:04:03.170 回答