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 に答える