我希望从一个表中获取信息,然后使用它从第二个表中获取数据,然后引用第二个表中的数据以获取所有相关字段。IE:
表 1:
ID
--
69
表2:
entity_id | id
----------------
69 | 134
表 3:
id | postcode | cost
----------------------
134 | m21 6fh | 850
我需要对table1. 我一直在尝试使用 LEFT JOIN 直到我打到第三张桌子。
这不起作用吗?
SELECT *
FROM table1
LEFT JOIN table2 ON table1.ID = table2.entity_id
LEFT JOIN table3 ON table2.ID = table3.ID
注意:如果你有table2数据,你只会得到table3数据,这是不可避免的。
尝试这个:
SELECT t1.*, t2.*, t3.* FROM Table1 t1
LEFT JOIN Table2 t2 ON t2.entity_id = t1.id
LEFT JOIN table3 t3 ON t3.id = t2.id
以这种方式简单地尝试:
SELECT Table3.* FROM Table1, Table2, Table3
WHERE table1.ID = table2.EntityId
AND table3.id = table2.id
尝试关注
Select t1.*, t2.*, t3.* from table1
left join table2 on t1.id = t2.id
left join table3 on t1.id = t3.id -- change to t2.id = t3.id if you want to fetch only when id exists in table2
请注意,如果您将在任何地方使用内部联接,或者在第三张表上使用t2.id = t3.id而不是联接,结果将会改变。t1.id = t3.id