任何人都可以帮助在1 sql语句中得到这个结果吗? 我有2个表,第二个表比第一个表占优势 - 如下:
表A
Code | Quantity
1 5
3 5
4 5
表B
Code | Quantity
1 5
2 1
4 6
查询结果
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
感谢您的帮助。谢谢!
答案 0 :(得分:6)
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
COALESCE(t2.Quantity, t1.Quantity)
基本上实现了对TableB
TableA
的' 的要求:Quantity
从TableA
获取仅在TableB
中没有匹配记录的情况下FULL JOIN
。
有关{{1}}如何运作的说明,您可以查看here:
FULL OUTER JOIN,包括两个表中的所有行,无论如何 另一个表是否具有匹配值。