簡體   English   中英

將具有兩個不同列的兩個相似表聯接起來

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

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