簡體   English   中英

SQL-如何將一個列合並並完全聯接另一列?

[英]SQL - How to UNION one column and FULL JOIN another column?

我有2張桌子:

  1. 表格價格 -主鍵IDprice
  2. DiscountPrices -主鍵IDdiscountPrice

價格

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM