Sqlite3:从多个表中选择没有重复的
Sqlite3: Selecting from multiple tables without duplicates
我有三个 tables:
paper: items: attachments:
============ ============== ==============
jkey | title itemID | jkey* itemID* | path
*来自另一个 table
的外键
我正在尝试为所有有附件的论文检索所有论文的标题及其相关的附件路径。
当前尝试是:
SELECT paper.title,attachments.path IN paper,attachments
WHERE paper.jkey IN (
SELECT items.jkey FROM items,attachments
WHERE items.itemID = attachments.itemID
);
不幸的是,这似乎只是打印乱码(不同标题的相同路径,反之亦然)。
我做错了什么?
如果你想加入,你应该使用连接:
SELECT paper.title,
attachments.path
FROM paper
JOIN items USING (jkey)
JOIN attachments USING (itemID);
要省略重复的行,请改用 SELECT DISTINCT ...
。
我有三个 tables:
paper: items: attachments:
============ ============== ==============
jkey | title itemID | jkey* itemID* | path
*来自另一个 table
的外键我正在尝试为所有有附件的论文检索所有论文的标题及其相关的附件路径。
当前尝试是:
SELECT paper.title,attachments.path IN paper,attachments
WHERE paper.jkey IN (
SELECT items.jkey FROM items,attachments
WHERE items.itemID = attachments.itemID
);
不幸的是,这似乎只是打印乱码(不同标题的相同路径,反之亦然)。
我做错了什么?
如果你想加入,你应该使用连接:
SELECT paper.title,
attachments.path
FROM paper
JOIN items USING (jkey)
JOIN attachments USING (itemID);
要省略重复的行,请改用 SELECT DISTINCT ...
。