簡體   English   中英

左聯接兩個具有相同列名的表,並使用PHP打印它們

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM