2015-05-19 84 views
0

我有两个表格和第三个链接记录。我试图做一个查询,将选择t1.name和t2.value其中他们的ID绑定在表3中。它已经很长时间,因为我已经做了任何SQL我不记得如何正确地做到这一点,用参考表加入两个表格

Table1 
------------- 
ID  Name 
1  bill 
2  bob 
3  ben 
4  steve 

Table2 
ID  Value 
-------------- 
1  blue 
2  red 
3  green 
4  orange 

Table3 
----------------------------- 
ID  Table1ID  Table2ID 
1  4   2 
2  3   1 
3  2   4 
4  1   3 

回答

1

这是一个简单INNER JOIN
通过搜索sql教程然后在这里询问可能会更快地获得答案。

SELECT Table1.Name, Table2.Name 
FROM Table1 
INNER JOIN Table3 ON Table1.Id = Table3.Table1Id 
INNER JOIN Table2 ON Table3.Table2Id = Table2.Id 
0

查询应该是这样的,例如在MySQL方言中。

SELECT t1.Name, t2.Value FROM Table1 t1 
    JOIN Table3 t3 ON t3.Table1ID = t1.ID 
    JOIN Table2 t2 ON t3.Table2ID = t2.ID; 

但是请注意,可能有多个变种,并且最适合你取决于你的确切数据库规范(例如LEFT JOIN或INNER JOIN等)

+0

其实,这是ANSI SQL,并应在大多数数据库 –

+0

是的,也许是工作,但据我所知例如Postgres的,Oracle等在一些情况下需要引用时使用一个区分大小写的名字。 –