0

MySQL データベースに 2 つのテーブルがあります。

USERS ('id_user' - 'id_client' -> the same as the id in CLIENTS)
CLIENTS ('id_client' - 'name' etc.)

すべてのクライアントとそれぞれのユーザーを印刷したい。これは私のクエリです:

SELECT * FROM clients AS c LEFT JOIN users AS u ON c.id_client = u.id_client

大丈夫そうですがid_client、テーブルからを印刷しようとすると問題が発生しますclients。PHPを使用してそれらを印刷するにはどうすればよいですか? 空っぽのようです...私のクエリは間違っていますか?

4

4 に答える 4

0

両方のテーブル ("id_client") に同じ名前のフィールドがあるため、どちらを印刷するかを指定する必要があります。

そのようです:

SELECT u.id_client, c.id_client, ... FROM clients AS c LEFT JOIN users AS u ON c.id_client = u.id_client
于 2012-09-15T09:45:21.607 に答える
0

試す、

GROUP BY または DISTINCT が必要です

    SELECT * FROM clients AS c LEFT JOIN users AS u ON c.id_client = u.id_client GROUP BY c.id_client
于 2012-09-15T09:11:36.907 に答える
0

それよりも簡単に、次のことを行うだけです。

SELECT c.*, u.name FROM clients AS c LEFT JOIN users AS u ON c.id_client = u.id_client

これにより、テーブル c からすべてが選択され、テーブル u からは名前のみが選択されます。あなたが抱えている問題は、両方のテーブルから id_client を選択していることです。これは必要ではなく、php で参照しようとすると混乱を引き起こします。

于 2012-09-15T09:15:05.683 に答える
0

選択 c. 、u。FROM クライアント c LEFT 外部結合 ユーザー u ON c.id_client = u.id_client

于 2012-09-15T09:17:40.613 に答える