/ / 1066, "Nicht eindeutige Tabelle / Alias ​​- mysql query - python, mysql, join

1066, "Nicht eindeutige Tabelle / Alias ​​- mysql-Abfrage - Python, MySQL, Join

Ich habe die folgende Anfrage

"""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" }

Ich habe es versucht LEFT OUTER JOIN %(t2)s t2alias ON t2alias.id = ... aber ohne Erfolg Stattdessen bekomme ich eine 1054, "Unknown column. Was vermisse ich?

Danke

Antworten:

1 für die Antwort № 1

Ich glaube, ich sehe dein Problem:

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

Versuchen Sie, die , %(t2)s von dem FROM Linie; es ist genug, um es in der LEFT OUTER JOIN.


1 für die Antwort № 2

Du hast table2 LEFT OUTER JOIN table2. Ich denke, du willst nur tun:

FROM %(t1)s,
LEFT OUTER JOIN %(t2)s

Ich denke auch, dass es eine seltsame Praxis ist, die Tabellennamen in der Abfrage nicht anzugeben. Wenn sie sich häufig ändern, würde dies der Fall sein ebenfalls sei mir komisch.