明確な結果のみを表示する多くの方法を見つけましたが、明確な結果とそうでない結果を一緒に選択するにはどうすればよいでしょうか? 次の表を検討してください。
A
---------------------------------
| id | col1 | col2 |
---------------------------------
| 1 | aa | dd |
---------------------------------
| 1 | bb | ee |
---------------------------------
| 2 | cc | ff |
---------------------------------
B
---------------------------------
| id | col1 | col2 |
---------------------------------
| 1 | a | d |
---------------------------------
| 2 | b | e |
---------------------------------
| 3 | c | f |
---------------------------------
C
---------------------------------
| id | col1 | col2 |
---------------------------------
| 1 | x | 1a |
---------------------------------
| 2 | y | 2b |
---------------------------------
| 3 | x | 3c |
---------------------------------
ユーザーが id と列のリストを提供します。たとえば、id = 1 と列 = (a.col1、b.col1、および c.col2) とします。ID が何回表示されても、ID が一致するすべての列情報を取得するクエリを作成するにはどうすればよいですか?
私の現在のクエリは次のとおりです。
SELECT a.col1, b.col1, c.col2
FROM a
LEFT JOIN b
ON b.id = a.id
LEFT JOIN c
ON c.id = b.id
WHERE a.id = 1
問題は、両方の結果 (または一致する繰り返し ID を持つテーブルからのすべての結果) を取得したいときに、テーブル A から 1 つの結果しか得られないことです。注: テーブル A では、列 id と col1 が一緒になって主キーを構成しているため、ID が繰り返されます。
提案?
ありがとう!