具有2个外键引用同一表的表

时间:2018-10-26 20:29:00

标签: sql sqlite relational-database

我有一个带有2个外键的表,该表引用同一张表。想要打印出联接内容吗?我正在使用SQLite

TableA

S.NO  Col1   Col2
1    | a   |  b
2    | f   |  g
3    | d   |  e

TableB

S.NO  Col3 
a    | apple   
b    | ball
f    | frog
g    | grape
d    | dog
e    | eat

我如何打印以下内容?

S.NO |Col1  | Col2 | Col3| Col4
1    | a    |apple |  b  | ball
2    | f    |frog  |  g  | grape
3    | d    |dog   |  e  | eat

我尝试了

SELECT TableA.Col1, TableB.Col3, TableA.Col1 
FROM TableA, TableB
WHERE TableA.Col1 = TableB.Col3
AND TableA.Col2 = TableB.Col3

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

两个内部联接将完成:

select 
    a.sno, a.col1, b1.col3, a.col2, b2.col3
  from tablea a
  join tableb b1 on b1.sno = a.col1
  join tableb b2 on b2.sno = a.col2

注释tableb被连接两次。在这种情况下,您需要每次给它一个不同的别名:b1b2。否则,将没有明确的方法来引用每个列中的列。