0

次のクエリがあります

'''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. 私は何が欠けていますか?

どうも

4

2 に答える 2

1

あなたが持っていtable2 LEFT OUTER JOIN table2ます。私はあなたがするつもりだと思います:

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

また、クエリでテーブル名を指定しないのは奇妙な習慣だと思います。それらが頻繁に変更されると、それ私にとって奇妙になります。

于 2013-05-14T20:53:16.797 に答える
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です。

于 2013-05-14T20:53:49.410 に答える