1

次の SQL ステートメントに問題があります。

SELECT linkstable.date, (linkstable.count - x.count) 
FROM (SELECT .....) AS linkstable 
INNER JOIN linkstable AS x 
  ON linkstable.date = x.date+1 

(SQL エラー 1146) 明らかにその選択クエリのエイリアスが存在するにもかかわらず、リンク テーブルが見つからないことがわかります。このエラーを回避する方法を教えてください。

4

2 に答える 2

5

エイリアスをエイリアスにすることはできません。テーブルをそれ自体に結合する場合は、選択を繰り返します。

SELECT linkstable.date, (linkstable.count - x.count) 
FROM (SELECT .....) AS linkstable 
INNER JOIN (SELECT .....) AS x ON linkstable.date = x.date+1

内部選択が面倒な場合、またはパフォーマンスの問題が発生している場合は、その結果を一時テーブルに挿入して、メイン クエリで使用します。

于 2013-08-06T18:41:01.200 に答える