[英]MySQL LEFT JOIN multiple tables from same source table
我有以下表格:
companyContacts
addresses
states
phoneNumbers
我需要對addresses
, states
和phoneNumbers
進行LEFT JOIN。 我需要使用companyContacts
連接phoneNumbers
和addresses
,並且需要使用addresses
連接states
。
我可以做以下選擇來抓住一切。 但是,如果有人有地址而不是電話號碼,則不會返回結果。 如何使phoneNumbers
和addresses
都從companyContacts
加入?
SELECT * FROM
companyContacts AS c
LEFT JOIN phoneNumbers AS p
ON c.entityID = p.entityID
LEFT JOIN addresses AS a
ON p.entityID = a.entityID
LEFT JOIN states AS s
ON a.stateID = s.id
聽起來你想要這個:
SELECT *
FROM companyContacts AS c
LEFT JOIN phoneNumbers AS p
ON c.entityID = p.entityID
LEFT JOIN addresses AS a
ON c.entityID = a.entityID
LEFT JOIN states AS s
ON a.stateID = s.id
如果您在加入companyContacts.entityId
到兩個phoneNumbers
和addresses
,那么你將返回的記錄,即使沒有電話號碼或地址。 你寫它的方式需要存在的電話號碼來返回一個地址
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.