[英]Join two columns from two different tables where both the columns have partially similar data
[英]Join two similar tables with some different columns
我們有兩個表,一個表顯示流程的結果,另一個表顯示錯誤或其他事件。 有些列可以合並,而另一些則不能。 每個表中都有唯一的列,所以我不能使用UNION ALL。
例如,我有以下幾列(還有更多專欄,但您明白了):
EventID | DateTime | Station | ErrMsg
ResultID | DateTime | Station | MatNum | SerialNum
因此,每個示例表中的前三列可以合並,但其他列則需要自己的列。
這里的想法是按日期/時間在錯誤和順序上覆蓋結果,以便我們查看是否有任何導致錯誤的處理步驟。
我嘗試了不同的聯接,聯合等,但並沒有得到我想要的。
有什么想法嗎?
如果這確實是您希望獲得輸出的方式,則從技術上講這是可行的...
Select
EventID, DateTime, Station, ErrMsg, NULL
from Events
UNION ALL
Select
ResultID, DateTime, Station, MatNum, SerialNum
from Results
由於前三列具有兼容的數據類型,而其他三列則不具有,因此您需要為每個不兼容的列單獨分隔列。 我還將添加一個鑒別符列,以便您可以立即知道該行來自哪個數據源:
Select
'E' src, EventID, DateTime, Station, NULL, NULL, ErrMsg
from Events
UNION ALL
Select
'R' src, ResultID, DateTime, Station, MatNum, SerialNum, NULL
from Results
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.