我希望从一个表中获取信息,然后使用它从第二个表中获取数据,然后从第二个表中引用数据以获取所有相关字段。即:
表1 :
ID
--
69
表2 :
entity_id | id
----------------
69 | 134
表3 :
id | postcode | cost
----------------------
134 | m21 6fh | 850
我需要为table1
中的每个条目执行此操作。我一直在尝试使用LEFT JOIN,直到我点击第三张桌子。
答案 0 :(得分:0)
尝试以下
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
加入第三个表,结果将会改变。
答案 1 :(得分:0)
以这种方式尝试:
SELECT Table3.* FROM Table1, Table2, Table3
WHERE table1.ID = table2.EntityId
AND table3.id = table2.id
答案 2 :(得分:0)
这不起作用吗?
SELECT *
FROM table1
LEFT JOIN table2 ON table1.ID = table2.entity_id
LEFT JOIN table3 ON table2.ID = table3.ID
注意:如果你有table2数据,你将只获得table3数据,这是不可避免的。
答案 3 :(得分:0)
试试这个:
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