我在 sqlite3 数据库上运行以下查询:
SELECT file.id AS fileID, file.path
FROM file
JOIN (SELECT tag_file_map.fileID,tag.tagname
FROM tag_file_map, tag JOIN tag ON tag_file_map.tagID = tag.id)
ON tag_file_map.fileID = file.id
WHERE tag.tagname = 'tag1' AND tag.tagname= 'tag2';
它给了我以下错误:"ambiguous column name: tag.tagname"
谷歌似乎说当一个或多个表共享一个列名并且没有指定该列的具体表时会产生这个错误。但是,这里指定了表名。另外,整个数据库中没有其他名称为“tagname”的列,因此无论有无表名都不应有歧义。这是一个 sqlite 问题,还是我的语法有问题?