0

我的 MySQL 数据库中有两个表:

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从 table打印 the 时遇到了麻烦clients。如何使用 PHP 打印它们?看来他们是空的......我的查询错了吗?

4

4 回答 4

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.ini 引用它时会导致混淆。

于 2012-09-15T09:15:05.683 回答
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

选择 c。,u。FROM clients c LEFT external JOIN users u ON c.id_client = u.id_client

于 2012-09-15T09:17:40.613 回答