“sqlite3.OperationalError:列名不明确:main.son.id”-sqlite3

dfty9e19  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(166)

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

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

当我尝试运行我的代码时,我得到以下错误(来自FlaskJJJA):

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

项目可以有所有者和受理人。他们可以是不同的人。所有者和受理人的数据都来自表Person。
最后,我想要一份声明,给我一件物品,包括它的所有者和受让人。
仅供参考:最初的陈述有点长,我透露了一些我认为对问题不必要的东西。

vfhzx4xs

vfhzx4xs1#

执行自联接时,必须为表设置别名:

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条款。我以为这就是你的意思,但我可能错了。

相关问题