我有2個表,我必須比較才知道數據是否在。我試圖找到查詢,但還找不到。比較數據存儲在detail1和detail2,這樣定義:比較兩個表來檢查差異
detail1
D1_ID (integer)
D1_MASTERID (integer)
與數據
| D1_MASTERID | D1_ID |
| 1 | 1 |
| 1 | 3 |
detail2
D2_ID (integer)
D2_MASTERID (integer)
與數據
| D2_MASTERID | D2_ID |
| 1 | 1 |
| 1 | 2 |
| 1 | 4 |
和
master
MASTER_ID (integer)
與數據
| MASTERID |
| 1 |
我試過很多方法,這是最後一次嘗試仍然doesnn't工作:
select MASTER_ID, D1_ID, D2_ID
FROM master
LEFT JOIN detail1 ON MASTERID=D1_MASTERID
LEFT JOIN detail2 ON MASTERID=D2_MASTERID
結果我得到的是一樣的東西
| MASTERID | D1_ID | D2_ID |
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 1 | 1 | 4 |
| 1 | 3 | 1 |
| 1 | 3 | 2 |
| 1 | 3 | 4 |
我想什麼得到的是:
| MASTERID | D1_ID | D2_ID |
| 1 | 1 | 1 |
| 1 | | 2 |
| 1 | 3 | |
| 1 | | 4 |
我在想一個左連接可以這樣做......但它不工作。 或子查詢?我真的不知道
我檢查了該網頁http://sql.sh/cours/jointures但它並沒有幫助也...
THX
它是mysql還是oracle?另外,請發佈您的預期結果的起始數據 – Aleksej
其實它是在oracle(但它可以在以後的mysql)... – ffert2907