[英]LEFT JOIN two tables with the same column name and print them with PHP
我的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
看來還可以,但是當我嘗試從表clients
打印id_client
時遇到了麻煩。 如何使用PHP打印它們? 看來他們是空的...我的查詢錯了嗎?
嘗試,
需要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
比這更簡單,只需執行以下操作:
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引用時會引起混淆。
選擇c。 ,u。 FROM客戶端c左外部JOIN用戶u ON c.id_client = u.id_client
由於兩個表中都具有相同名稱的字段(“ 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.