簡體   English   中英

如何使用mySQL內部連接3個表?

[英]How to inner join 3 tables using mySQL?

我正確地加入了兩個表格

SELECT m.id as mid, c.id as cid FROM members m inner join companies c on m.id=c.id

然后我也想添加第3張表,但我不能讓它工作。

SELECT m.id as mid, c.id as cid, u.id as uid FROM members m inner join companies c on m.id=c.id inner join users u on m.id=u.id

我在這里錯過了什么?

將它們從內部連接切換到左連接。

如果使用內部聯接,並且所有三個表中都不存在結果,則會將其排除,顯示為失敗/不返回結果。

SELECT m.id as mid, c.id as cid, u.id as uid 
FROM members m 
left join companies c on m.id=c.id 
left join users u on m.id=u.id

這應該照顧你所看到的所有問題。

您在會員中與用戶和公司分享您的“id”列,這是您的意圖嗎? 實際上你的表應該有不同的ID,只能加入外鍵。

例如

Members.id = 12345 Members.CompanyFk = 45632

Companies.id = 45632

將members.companyfk加入companies.id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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