我遇到了一個問題,即在完全不同的服務器中找到有關客戶的不同信息。結合MySQL中的表來替換行值匹配時的NULL值
到目前爲止,我的解決方案是從每臺服務器獲取必要的組件,並將它們組合到MySQL中。
我的問題: 我正在尋找替換從MySQL的一個表中的NULL值與來自另一個表的信息,當第一個表中的NULL,提供其他列匹配。
當列在OrderName列中顯示爲NULL且在原始表的Order_ID列中顯示爲-1時,信息將僅顯示在第二個表中。這第二個表格將包含缺少的信息,並與其他列(如Cust_ID和DateTime)保持一致。
E.g.
表1:
Cust_ID | Order_ID | OrderName | DateTime | Other_Info
------------------------------------------------------------------------------
12345 | -1 | NULL | 2016/01/01 | Info1
12345 | 1254 | Orange | 2016/02/03 | Info2
54321 | 5412 | Apple | 2016/04/15 | Info3
45899 | -1 | NULL | 2016/06/08 | Info4
表2:
Cust_ID | OrderID | OrderName | DateTime
-------------------------------------------------------------
12345 | 1549 | Banana | 2016/01/01
45899 | 5862 | Grape | 2016/06/08
希望的輸出:
Cust_ID | Order_ID | OrderName | DateTime | Other_Info
------------------------------------------------------------------------------
12345 | 1549 | Banana | 2016/01/01 | Info1
12345 | 1254 | Orange | 2016/02/03 | Info2
54321 | 5412 | Apple | 2016/04/15 | Info3
45899 | 5862 | Grape | 2016/06/08 | Info4
我已經使用CASE WHEN試圖子句與COALESCE函數來實現組合這還沒有成功。
這是可能在MySQL中做的嗎?
如果是這樣,任何指導如何實現這一點將不勝感激。
感謝您的幫助。
PLZ刪除不需要的標籤,如'SQL-server' –
爲什麼你有兩個如此相似的表?你不能在table1中存儲所有的數據並且丟棄table2嗎? – jarlh