python - 1066, "不唯一的表/别名 - mysql 查询

标签 python mysql join

我有以下查询

'''SELECT %(t1)s.*, %(t2)s.id, %(t2)s.street 
   FROM %(t1)s, %(t2)s 
   LEFT OUTER JOIN %(t2)s 
   ON %(t2)s.id = %(t1)s.location_id 
''' % { 't1' : 'table1', 't2' : 'table2' }

我尝试使用LEFT OUTER JOIN %(t2)s t2alias ON t2alias.id = ...但无济于事。相反,我得到了 1054,“未知列。我缺少什么?

谢谢

最佳答案

我想我看到了你的问题:

SELECT %(t1)s.*, %(t2)s.id, %(t2)s.street
FROM %(t1)s, %(t2)s 
             ^^^^^^ Already declared in the LEFT OUTER JOIN
LEFT OUTER JOIN %(t2)s
ON %(t2)s.id = %(t1)s.location_id

尝试从 FROM 行中删除 , %(t2)s ;将其放在 LEFT OUTER JOIN 中就足够了。

关于python - 1066, "不唯一的表/别名 - mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552537/

相关文章:

Python 和 BeautifulSoup,找不到 'a'

python - 如何在 Python 中不使用范围创建列表(For 循环)?

php - 动态分配和返回选择选项?

Mysql - 使用 sql 重新排列列值

php - Mysql查询返回表结构

grails - 如何使用原语为多对多创建Grails查询?

python - 将从模型训练层提取的特征向量显示为图像

加入多列的 SQL 查询

mysql - 在内连接中从连接表中获取数据

python - 访问名为 class 的 pandas 行元素时出错