2012-08-16 50 views
1

所以我有一個表有FKUserIdFKProductId寫一個查詢來選擇特定的外鍵條目給定一個特定的標準

每個UserId可以多次列出,如果他們有多個產品。

我需要查詢以獲得每個UserId,例如,有ProductId 1,但不是ProductId 2

我該如何開始編寫這樣的查詢?

編輯:

但這裏是我有問題的一部分;誰擁有產品1所有用戶都應該有產品2,但有的沒有,所以我需要得到誰擁有產品1的用戶和非產品2

回答

2

- 這是你想要的嗎?

SELECT 
    u.[UserID] 
    , p.[ProductID] 
FROM TableA a 
    LEFT JOIN Users u ON 
     u.[UserID] = a.[UserID] 
    LEFT JOIN Products p ON 
     p.[ProductID] = a.[ProductID] 
WHERE a.ProductID = 1 
2

假設你有userproduct

之間的橋樑表,如果你想要更多的則ID

SELECT u.user_id, u.name 
FROM [user] AS u 
INNER JOIN user_product AS up 
     ON u.user_id = up.user_id 
INNER JOIN product as p 
     ON p.product_id = up.product_id 
WHERE p.id = 1 

或者你可以查詢你的表橋

SELECT up.user_id 
FROM user_product AS up 
WHERE up.product_id = 1 
相關問題