【发布时间】:2014-09-08 04:21:22
【问题描述】:
我有两个表,我需要查询它们的一个字段的差异,然后将结果与其中一个表连接起来,这些是我的表:
-----------------------------------------------------------
产品: |产品 ID(PK)|产品名称 |
-----------------------------------------------------------
| 1 |养老基金 |
-----------------------------------------------------------
| 2 |学习基金 |
=
| 3 |公积金 |
-----------------------------------------------------------
-------------------------------------------------- ----------------
佣金: |卖家 ID(PK1) |产品 ID(PK2)(FK) |佣金 |
-------------------------------------------------- ----------------
| 11 | 1 | 10 |
-------------------------------------------------- ----------------
| 11 | 2 | 20 |
-------------------------------------------------- ----------------
| 22 | 3 | 30 |
-------------------------------------------------- ----------------
| 33 | 1 | 10 |
-------------------------------------------------- ----------------
| 33 | 2 | 20 |
-------------------------------------------------- ----------------
| 33 | 3 | 30 |
-------------------------------------------------- ----------------
当我有一个 SellerId 时,我需要查询卖家 没有的所有 ProductId 和 ProductName销售
例如如果 给定 SellerId = 11 结果我应该取回一条记录 (3,Provident Funds)
if 给定SellerId = 22 结果我应该得到两条记录 (1,Pension Funds) 和 (2,Study Funds)
如果 给定SellerId = 33 没有记录应该被退回。
现在我有这个:
SELECT ProductId FROM Products
EXCEPT
SELECT ProductId FROM Comissions WHERE SellerId = @SellerId
此查询返回 ProductId 的差异,我需要帮助将其与 ProductId 上的 Products 表连接。
提前致谢
【问题讨论】:
标签: sql sql-server