2010-04-02 48 views
3

我對此有點困惑。我有構成這樣一個數據表中:查詢與多列相同的查找表

表:數據

DataID Val 
1   Value 1 
2   Value 2 
3   Value 3 
4   Value 4 

然後我已經另一個表的結構是這樣的:

表:表1

Col1 Col2 
1  2 
3  4 
4  3 
2  1 

無論從表1列指向數據表中的數據。我怎樣才能獲得這些數據顯示在查詢中?例如,查詢返回的:

查詢:查詢1

Column1 Column2 
Value 1 Value 2 
Value 3 Value 4 
Value 4 Value 3 
Value 2 Value 1 

我與SQL非常熟悉,做一列的加入,但失去了不止於此。任何幫助表示讚賞。示例sql或指向要閱讀的內容的鏈接。謝謝!

PS:這是sqlite的

回答

10

您可以加入同一個表兩次:

Select 
    d1.val As column1, 
    d2.val As column2 
From table1 t 
Join data d1 On (d1.dataId = t.col1) 
Join data d2 On (d2.dataId = t.col2) 
+0

+1右,雙連接是什麼他要求 – Andomar 2010-04-02 16:16:26

+0

由於它的偉大工程。我不知道你可以指定一個連接而不使用inner,left或right。我真的需要閱讀這本書! – dmaruca 2010-04-02 17:05:41

+0

'JOIN'與'INNER JOIN'相同,而'LEFT JOIN'與'LEFT OUTER JOIN'相同。 – 2010-04-02 19:59:42