我有一个有点复杂的数据库,我试图从中获取一些信息。基本上有三个链接表,例如:
+----------+---------------+ | paint_id | painting_name | +----------+---------------+ | 1 | pueblo sunset | | 2 | some other | +----------+---------------+
然后是另一张表
+---------+----------+ | made_id | paint_id | +---------+----------+ | 10 | 1 | +---------+----------+
另一张表
+---------+---------+ | lexi_id | made_id | +---------+---------+ | 20 | 10 | +---------+---------+
还有另一张桌子
+---------+---------+-------+ | term_id | lexi_id | term | +---------+---------+-------+ | 30 | 20 | Moran | +---------+---------+-------+
我正在尝试编写MS SQL查询以返回类似这样的内容:
+---------------+-------+ | painting_name | term | +---------------+-------+ | pueblo sunset | Moran | | some other | NULL | +---------------+-------+
您可以看到数据已链接,但必须通过多个联结才能到达目的地。我知道我需要一些左外连接的东西继续下去,但我无法嵌套它们。
感谢您的帮助,如果您需要更多信息,请与我们联系。
答案 0 :(得分:2)
这是非常基本的,不需要基于示例数据的外连接。只需加入ID上的表格: SQL Fiddle
select
t1.painting_name,
t4.term
from t1
left outer join t2
on t1.paint_id = t2.paint_id
left outer join t3
on t2.made_id = t3.made_Id
left outer join t4 on t3.lexi_Id = t4.lexi_id
编辑:显然是太晚了。切换到外连接。