2014-10-31 48 views
1

我有一個關於派生表加入的基本語法的問題。與派生表的內部聯接

是本德的基本語法,用於:

select * 
from table1 a 

inner join (select * from table2) as T1 

on 1.ID = T1.ID 

請問這項工作?

+0

http://stackoverflow.com/questions/26559392/difficulty-understanding-logic-of-joines#answer-26559409 – 2014-10-31 19:33:47

+0

我詢問如何加入派生表。在我之前的問題中,我沒有詢問派生表。 – 2014-10-31 19:36:47

+1

將1.id更改爲a.id並嘗試。 – 2014-10-31 19:45:34

回答

4

你問關於加入兩個子查詢? 嘗試:

select * from 
(select * from table1) t1 inner join 
(select * from table2) t2 on 
t1.id = t2.id 
+0

因此,如果我將派生表放在JOIN子句中(如上所述),那麼我可以將它加入到查詢中的其他表中? – 2014-10-31 20:35:48

+0

是的,這是主意 – Beth 2014-10-31 20:44:01

+0

好的,謝謝Beth。 – 2014-10-31 21:08:05

0

在您發佈的查詢變化on 1.ID = T1.IDon a.ID = T1.ID,它應該工作正常,但爲什麼你甚至需要嗎?您可以直接table1加入,無需內嵌的/派生表像

select * 
from table1 a 
inner join 
table2 T1 
on a.ID = T1.ID 
+0

好的,謝謝Rahul。你和貝絲都給出了很好的答案。我會將她標記爲答案,但僅僅是因爲她首先發布。 但是非常感謝你的幫助。我很感激! – 2014-10-31 21:06:52