查询具有多列的相同查找表

时间:2010-04-02 16:11:19

标签: sql sqlite

我对此感到有点困惑。我有一个这样的数据表:

表:数据

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

Table1中的两列都指向数据表中的数据。如何在查询中显示此数据?例如,一个返回此的查询:

查询:Query1

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

我对SQL很熟悉,可以使用一列来进行连接,但是已经失去了。任何帮助表示赞赏。示例sql或要读取的内容的链接。谢谢!

PS:这是在sqlite

1 个答案:

答案 0 :(得分:14)

您可以两次加入同一张桌子:

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 )