2012-09-15 147 views
0

打印出来,我有两个表我的MySQL数据库:LEFT JOIN两个表具有相同的列名,并用PHP

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 

这似乎是确定的,但我有麻烦时,我尝试从表clients打印的id_client。我如何使用PHP打印它们?看起来他们是空的......我的查询是否错误?

+0

请出示一些PHP代码,你设法得到'id_client'。 – nkr

回答

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 
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引用时会引起混淆。

0

SELECT c。 ,u。 FROM clients c LEFT outer JOIN users u ON c.id_client = u.id_client

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 
相关问题