/ / 1066、 "ユニークではないテーブル/エイリアス - mysqlクエリ - python、mysql、join

1066、 "Not unique table / alias - mysql query - 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, "Unknown column。私は何が欠けていますか?

どうも

回答:

回答№1は1

私はあなたの問題を見ていると思います:

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

の削除を試みてください , %(t2)s から FROM ライン;それはそれを持っているのに十分です LEFT OUTER JOIN.


回答№2の場合は1

あなたが持っている table2 LEFT OUTER JOIN table2。私はあなたがすることを意味していると思います:

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

また、クエリでテーブル名を指定しないことは奇妙なやり方だと思います。 また、 私にとって奇妙になりなさい。