データベースに 2 つのテーブルがあります。テーブル クライアントは次のようになります。
----------------------------
|id | name | age | gender |
|---------------------------
|1 | CL1 | 22 | M |
|2 | CL2 | 23 | M |
|3 | CL3 | 24 | M |
|4 | CL4 | 25 | F |
|5 | CL5 | 26 | NA |
----------------------------
現在、このクライアント テーブルに関連する別のテーブルがあります。上記のテーブルの「id」は AUTO_INCREMENT ではなく、UNIQUE であることに注意してください。
2 番目のテーブルは、クライアントのポートフォリオ画像を含む「画像」で、次のようになります。
------------------------------
|id | client_id | url |
|------------------------------
|1 | 1 | img1_1.jpg |
|2 | 1 | img1_2.jpg |
|3 | 1 | img1_3.jpg |
|4 | 2 | img2_1.jpg |
|5 | 2 | img2_2.jpg |
-------------------------------
私が基本的に達成しているのは、名前、年齢、性別などを含むクライアントテーブルからすべての結果を取得し、画像テーブルから最初と1つの結果を取得したいということです。つまり、クエリを実行すると、imag1_1.jpgを表示する必要がありますクライアントテーブルでCL1をクエリすると、画像テーブルから。このために、私は次のようなことをしています:
SELECT DISTINCT c.* , i.* FROM clients c LEFT JOIN images i ON i.client_id = c.id
このクエリは結果を返しますが、結果はさらに重複しています。それでも重複が返される場合は、得られないか、DISTINCT が何を表しているのか混乱しているか、何かが欠けている可能性があります。
に関するヘルプをいただければ幸いです。
一番、
アサン