任何人都可以帮助在1 sql语句中获得此结果吗?
我有2个表,第二个表比第一个表占优势 - 如下:
表A
Code | Quantity
1 5
3 5
4 5
Run Code Online (Sandbox Code Playgroud)
表B
Code | Quantity
1 5
2 1
4 6
Run Code Online (Sandbox Code Playgroud)
查询结果
Code | Quantity
1 5 - code exists in both - return record from TableB
2 1 - distinct only in TableB
3 5 - distinct only in TableA
4 6 - code exists in both - return record from TableB
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助.谢谢!
A FULL JOIN会做:
SELECT COALESCE(t1.Code, t2.Code) AS Code,
COALESCE(t2.Quantity, t1.Quantity) AS Quantity
FROM TableA AS t1
FULL OUTER JOIN TableB AS t2 ON t1.code = t2.code
Run Code Online (Sandbox Code Playgroud)
COALESCE(t2.Quantity, t1.Quantity)基本上实现了您的需求"主导地位"的TableB了TableA:Quantity从捡到TableA只有在情况下,有没有匹配的记录中TableB.
有关如何FULL JOIN工作的解释,您可以在这里查看:
FULL OUTER JOIN,包括两个表中的所有行,无论另一个表是否具有匹配值.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |