[英]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.