来自不同表的联盟列

时间:2015-10-29 09:26:47

标签: sqlite

假设我有两张桌子:
Persons: ID, Name
Pets: PName

我想从Persons中选择所有ID,如果有更多ID,则为每个ID分配不同的PName或NULL。
基本上它看起来像是来自select的简单Persons查询,然后以某种方式追加来自select的{​​{1}}查询,但我不知道该怎么做。我尝试使用PetsJOIN,但没有一个人给我我想要的内容。

1 个答案:

答案 0 :(得分:0)

为ID和名称创建临时表:

CREATE TEMP TABLE t1(ID) AS SELECT ID FROM Persons;
CREATE TEMP TABLE t2(PName) AS SELECT PName FROM Pets;

然后使用rowid加入他们:

SELECT t1.ID, t2.PName
FROM t1 LEFT JOIN t2 ON t1.rowid = t2.rowid;