1

我希望从一个表中获取信息,然后使用它从第二个表中获取数据,然后引用第二个表中的数据以获取所有相关字段。IE:

表 1

ID 
--
69

表2

entity_id | id
----------------
69        | 134

表 3

id  | postcode | cost
----------------------
134 | m21 6fh  | 850

我需要对table1. 我一直在尝试使用 LEFT JOIN 直到我打到第三张桌子。

4

4 回答 4

0

这不起作用吗?

SELECT *
FROM table1
  LEFT JOIN table2 ON table1.ID = table2.entity_id
  LEFT JOIN table3 ON table2.ID = table3.ID

注意:如果你有table2数据,你只会得到table3数据,这是不可避免的。

于 2013-11-04T15:41:48.290 回答
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
于 2013-11-04T15:41:54.530 回答
0

以这种方式简单地尝试:

SELECT Table3.* FROM Table1, Table2, Table3
WHERE table1.ID = table2.EntityId
AND table3.id = table2.id
于 2013-11-04T15:40:36.863 回答
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

于 2013-11-04T15:39:24.250 回答