2013-11-15 87 views
2

我有一個有點令人費解的數據庫,我試圖從中獲取一些信息。基本上有三個鏈接的表,例如:嵌套外部聯接

+----------+---------------+ 
| 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查詢y以返回是這樣的:

+---------------+-------+ 
| painting_name | term | 
+---------------+-------+ 
| pueblo sunset | Moran | 
| some other | NULL | 
+---------------+-------+

您可以看到數據連接,但它要經過幾個路口到那裏。我知道我需要一些左外部加入的東西繼續下去,但我無法嵌套它們。

任何幫助表示讚賞,讓我知道如果你需要更多的信息。

回答

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 

編輯。切換到外部連接。

+0

好的,我是這種方式太過分了。謝謝! – user2856332