1つのクエリで2つの関連テーブルからデータを取得しようとしています。 テーブルは次のようになります。関連する2つのテーブルからデータを取得するにはどうすればよいですか?
表1:
--------------------------
| ID | username |
--------------------------
| 1 | user1 |
| 2 | user2 |
| 3 | user3 |
| 4 | user4 |
--------------------------
表2:
私は表2から表1およびキーと値のペアからすべての行を含む結果を取得したい----------------------------------------------------
| ID | user_id | key | value |
----------------------------------------------------
| 1 | 1 | key1 | value1 |
| 2 | 1 | key2 | value2 |
| 3 | 2 | key2 | value3 |
| 4 | 3 | key3 | value4 |
| 5 | 4 | key1 | value5 |
| 6 | 4 | key3 | value5 |
----------------------------------------------------
key = key1です。キーが表1の特定の行に対して表1にない場合は、NULLを記入します。期待される結果の例:あるいは
----------------------------------------------------
| user_id | username | key | value |
----------------------------------------------------
| 1 | user1 | key1 | value1 |
| 2 | user2 | NULL | NULL |
| 3 | user3 | NULL | NULL |
| 4 | user4 | key1 | value5 |
----------------------------------------------------
- I 2つのテーブルとからSELECT
から標準SELECT
を試みたテーブルのキー= KEY1 2.
をキーと値のペアが含まれていない表1のすべての行表1のJOIN
を表2に示しますが、表2のkey = key1のキー値ペアを含む表1のすべての行が表示されますが、これはまさに私が望むものとは逆です。
提案がありますか?持っていないことをすべてを得るためにあなたの "オルタナティブ" については
、AND:O table2の中に3をUSER_ID、その後、クエリ(上記)を生成します't)。あなたは私の答えを見た... – DRapp
ああ、私は参照してください。ありがとう。 –