所以我有一個表有FK
到UserId
,FK
到ProductId
。寫一個查詢來選擇特定的外鍵條目給定一個特定的標準
每個UserId
可以多次列出,如果他們有多個產品。
我需要查詢以獲得每個UserId
,例如,有ProductId 1
,但不是ProductId 2
。
我該如何開始編寫這樣的查詢?
編輯:
但這裏是我有問題的一部分;誰擁有產品1所有用戶都應該有產品2,但有的沒有,所以我需要得到誰擁有產品1的用戶和非產品2
所以我有一個表有FK
到UserId
,FK
到ProductId
。寫一個查詢來選擇特定的外鍵條目給定一個特定的標準
每個UserId
可以多次列出,如果他們有多個產品。
我需要查詢以獲得每個UserId
,例如,有ProductId 1
,但不是ProductId 2
。
我該如何開始編寫這樣的查詢?
編輯:
但這裏是我有問題的一部分;誰擁有產品1所有用戶都應該有產品2,但有的沒有,所以我需要得到誰擁有產品1的用戶和非產品2
select distinct userID from yourtable t
where t.[email protected]
and not exists(select UserID from yourtable
where Userid=t.userID and [email protected])
- 這是你想要的嗎?
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
假設你有user
和product
之間的橋樑表,如果你想要更多的則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