【发布时间】:2015-12-28 23:28:24
【问题描述】:
假设我有一张装运零件表和收据上零件表。我想将我发货的商品与我收到的商品进行匹配,并通过一个共同的发货编号绑定在一起。
装运表
SHIPMENT NO PART NO
1 A
1 B
2 A
2 C
收据表
SHIPMENT NO PART NO
1 A
1 C
2 B
3 A
期望的结果
SHIP. SHIP. NO SHIP. PART NO RPT. SHIP. NO RPT. PART NO
1 A 1 A
1 B 1 NULL
1 NULL 1 C
2 A 2 NULL
2 NULL 2 C
NULL NULL 3 A
因此,想法是有一个完整的外部连接,显示所有不同的发货编号和发货和收据的相应零件编号,但在匹配的地方将它们连接在一起。即使零件编号不匹配,问题仍然会出现在 Shipment No 上。
基本上有两种连接条件,其中一种是完全可选的。
我确定解决方案非常简单,但如果不使用联合,我看不到如何做到这一点。
【问题讨论】:
-
总是尝试包含一个 rdbms 标签,SqlServer,MySql?
-
那么,为了确认,“零件号”连接条件是可选的吗?
标签: sql join outer-join full-outer-join