2012-09-15 148 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 
相關問題