0

Sqlite:

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

现在,假设我想 SELECT A.colA, b.colB, c.colC WHERE idx=:idx

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

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

4

1 回答 1

1

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

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值,那么您将从查询中获得多行。

于 2013-09-07T15:07:09.283 回答