如何使用参数查询具有相同名称FK的多个表

时间:2013-09-07 15:01:09

标签: sql sqlite

SQLITE:

假设我有3张桌子,A,B& C,每个都有一个唯一的列(colA,colB,colC(事实上,每个列都有几列,但我只想要每列一列))和一个具有相同名称的外键列(让我们称之为Idx)。

现在,让我们说我想要SELECT A.colA,b.colB,c.colC WHERE idx =:idx

也就是说,我想将Idx作为参数传递给查询。

这是我的问题:查询是什么?

1 个答案:

答案 0 :(得分:1)

有几种方法,但我认为最好的方法是显式加入查询,然后检查id子句中的where

SELECT A.colA, b.colB, c.colC
FROM A join
     B
     on A.idx = B.idx join
     C
     on A.idx = C.idx
WHERE A.idx = :idx;

这假设inner join位于所有三个表格中,使用id

请注意,如果任何表中有多个具有idx值的行,那么您将从查询中获得多行。