3

我有一个有点复杂的数据库,我试图从中获取一些信息。基本上有三个链接表,例如:

+----------+----------------+
| 油漆标识 | 绘画名 |
+----------+----------------+
| 1 | 普韦布洛日落 |
| 2 | 其他一些|
+----------+----------------+

然后是另一张桌子

+---------+----------+
| made_id | 油漆标识 |
+---------+----------+
| 10 | 1 |
+---------+----------+

还有一张桌子

+---------+---------+
| lexi_id | made_id |
+---------+---------+
| 20 | 10 |
+---------+---------+

还有一张桌子

+---------+---------+--------+
| term_id | lexi_id | 学期 |
+---------+---------+--------+
| 30 | 20 | 莫兰 |
+---------+---------+--------+

我正在尝试编写一个 MS SQL 查询来返回如下内容:

+---------------+--------+
| 绘画名 | 学期 |
+---------------+--------+
| 普韦布洛日落 | 莫兰 |
| 其他一些| 空 |
+---------------+--------+

您可以看到数据是链接的,但它必须经过几个路口才能到达那里。我知道我需要一些左外连接的东西才能继续,但我在嵌套它们时遇到了麻烦。

任何帮助表示赞赏,如果您需要更多信息,请告诉我。

4

1 回答 1

3

这是非常基本的,不需要根据您的示例数据进行外部连接。只需加入 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

编辑:显然太晚了。切换到外部连接。

于 2013-11-15T04:31:19.693 回答