所以我有一个表格FK
到UserId
,FK
到ProductId
。
如果UserId
有多个产品,则可以多次列出UserId
。
我需要查询以获取每个ProductId 1
,例如ProductId 2
,但不是{{1}}。
如何开始编写这样的查询?
修改
但这是我遇到问题的部分;所有拥有产品1的用户都应该拥有产品2,但有些产品没有,所以我需要让拥有产品1而不是产品2的用户
答案 0 :(得分:2)
select distinct userID from yourtable t
where t.ProductId=@ProductID1
and not exists(select UserID from yourtable
where Userid=t.userID and ProductID=@ProductID2)
答案 1 :(得分: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 :(得分:2)
假设您在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