2016-07-14 50 views
0

我有一個關於mysql中元組比較的問題。不存在mysql元組比較

我有兩個表:

Person_ID | Class_ID | STATE 
1 | 1 | 1 
1 | 3 | 0 

Person_ID | Class_ID 
1 | 1 
1 | 2 
1 | 3 

因此,第二行中沒有所述第一表中的現有。然而,我想要結合如下表格:

Person_ID | Class_ID | STATE 
1 | 1 | 1 
1 | 2 | -1 
1 | 3 | 0 

有人想法,我該怎麼做?

我試圖與存在玩,如果在那裏等:-(

+1

提示:'LEFT JOIN' –

回答

0

您可以使用LEFT JOINCOALESCE

SELECT t2.Person_ID, t2.Class_ID, 
     COALESCE(t1.STATE,-1) AS STATE 
FROM Table2 AS t2 
LEFT JOIN Table1 AS t1 
    ON t2.Person_ID = t1.Person_ID AND t2.Class_ID = t1.Class_ID 
+0

您好,感謝 它的結果和我的測試一樣現在所有的元組都有狀態-1我該怎麼做它應該是這樣的: 如果表1和表2中的元組(A,B)比State更給定,否則它是-1 ... –

+0

@HeikoAngermann查詢應該給你預期的結果。如果它失敗了,那麼你能解釋它在哪裏嗎? –

+0

sry這是我的錯誤。現在它工作正常。非常感謝你的幫助。 –