"sqlite3.OperationalError: ambiguous column name: main.person.id" -sqlite3



我使用python生成了一条SQL语句。当我打印出来时,它看起来像这样:

SELECT * FROM item
LEFT JOIN person
ON item.owner_id = person.id
LEFT JOIN person
ON item.assignee_id = person.id

当我尝试运行我的代码时,我收到以下错误(来自Flask/Jinja(:

sqlite3.OperationalError: ambiguous column name: main.person.id

项目可以有所有者和受让人。他们可以是不同的人。所有者和受让人的数据均来自表中的人员。

最后,我想要一份声明,给我一个项目,包括它的所有者和受让人

仅供参考:最初的陈述有点长,我说出了一些我认为对这个问题没有必要的东西。

当您进行自联接时,您必须对表进行别名:

SELECT * FROM item
LEFT JOIN person AS p1
ON item.owner_id = p1.id
LEFT JOIN person AS p2
ON item.assignee_id = p2.id

检查ON子句。我以为这就是你的意思,但我可能错了。

相关内容

  • 没有找到相关文章

最新更新