[英]SQL - How to UNION one column and FULL JOIN another column?
我有2張桌子:
ID
, price
ID
, discountPrice
價格
ID | price
1 | 15
2 | 29
3 | 21
DiscountPrices
ID | discountPrices
1 | 12
3 | 18
4 | 22
我需要得到:
ID | price | discountPrice
1 | 15 | 12
2 | 29 | NULL
3 | 21 | 18
4 | NULL | 22
1.要獲取總ID列表,我可以使用:
SELECT ID FROM Prices
UNION
SELECT ID FROM DiscountPrices
2.要獲得價格,折扣價格,我可以使用:
SELECT price, discountPrice
FROM Prices FULL JOIN DiscountPrices
ON Prices.ID = DiscountPrices.ID
至此,我已經停止了。 你能給我一些提示嗎? :)
將FULL JOIN
更改為FULL OUTER JOIN
將解決您的問題:
SELECT COALESCE(p.ID, dp.id) AS ID, p.price, dp.discountPrice
FROM Prices p FULL OUTER JOIN
DiscountPrices dp
ON p.ID = dp.ID;
只有JOIN
會被視為INNER JOIN
,但是您需要OUTER JOIN
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.