質問

SQLでは、Having句のエイリアスフィールドを参照する必要があると仮定しますが、エイリアスには引用があります。どうすればよいですか?

select (select...) as '005'
group by ...
having '005'>0
役に立ちましたか?

解決

From from句が欠けていると思います。単一の引用の代わりにバックテックを使用する必要があります。

SELECT (SELECT ...) AS `005`
FROM table1
GROUP BY ...
HAVING `005` > 0

あなたが完全なクエリを投稿した場合、私はあなたが何をしたいのかについて少しここで推測しているので、それは役立ちます。

他のヒント

SQL-92標準は、単一の引用ではなく、列エイリアスの二重引用符を使用して定義します。ほとんどのデータベースでは、珍しい文字が二重引用符を使用する場合にのみ許可されます。

とはいえ、すべてのデータベースが列エイリアス(同じクエリ)を参照してサポートしているわけではありません。 GROUP BY また HAVING 条項。ポータブルクエリについては、列エイリアスを参照する練習をお勧めしません。 GROUP BY また HAVING 条項。さらに、 HAVING 節は集約用です - 提供した単純化された例は、集計関数(つまり、カウント、AVG、MIN/MAXなど)が実行されないため、エラーをトリガーする必要があります。 005 列エイリアス。

MySQL 4.1では、以下の作品:

  SELECT COUNT(*) AS "005"
    FROM TABLE t
GROUP BY ...
  HAVING `005` > 0
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top