2016-07-14 12 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 

したがって、第2行は、最初のテーブルに存在されていない。

私は2つのテーブルを持っています。しかし、私はテーブルのように組み合わせたい:

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

誰かがアイデア、どのように私はそれを行うことができますか?

など、どこで、どうかは:-(存在でプレイしようとした

+1

ヒント: 'LEFT JOIN'を –

答えて

0

をあなたがCOALESCELEFT JOINを使用することができます。

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を持っています...何ができるのですか? Stateよりtable1とtable2のタプル(A、B)そうでなければ-1です... –

+0

@HeikoAngermannクエリは、あなたに期待される結果を与えるはずです。それが失敗した場合は、それがどこにあるのかを教えてください。 –

+0

それは私の間違いでした。今はうまくいく。あなたの助けに感謝します。 –

関連する問題