Join Sqlite3:从多个不重复的表中选择
我有三张桌子:Join Sqlite3:从多个不重复的表中选择,join,sqlite,intersect,Join,Sqlite,Intersect,我有三张桌子: paper: items: attachments: ============ ============== ============== jkey | title itemID | jkey* itemID* | path *来自另一个表的外键 我正在尝试检索所有带有附件的论文的标题及其关联的附件路径 目前的尝试是: SELECT paper.title,attachments
paper: items: attachments:
============ ============== ==============
jkey | title itemID | jkey* itemID* | path
*来自另一个表的外键
我正在尝试检索所有带有附件的论文的标题及其关联的附件路径
目前的尝试是:
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…
。仅出于我自己的理解,第一个join
语句连接jkey下的纸张和项目,第二个join
语句连接itemID下的项目和附件?是。(见附件。)