Common SQL Environment は DB をいじる時に、お手軽でとても便利なツールですが、バグがあります。はまると痛い目にあいます。どっからどう見ても正しい SQL を書いているのに、どうしてもエラーが出る。どうして?どうして?と延々悩み続けることになることがあります。例えば、簡単な SQL 文で見てみましょう。
SELECT
count(*)
FROM
hoge
WHERE
foo = bar
何のことはない SQL 文ですが、これを CSE で実行すると、
単一グループのグループ関数ではありません。
とエラーが出ます。は?何?何で?って話ですよね。そうです。これが CSE のバグです。
CSE は”集計演算”にバグがある
です。全てのものについてやった訳ではないのですが、大抵ダメです。ここで、はまる人続出。教えて goo とかをうろついたりして、時間を消費する人続出。ほったらかしにすると、半日くらい悩む人がいます。でも、これバグなんです。回避するには、CSE で以下のように記述します。
SELECT
count(*)FROM
hoge
WHERE
foo = bar
普通に書いたら間違ってるんですが、
FROM の前に改行入れたり、スペースを入れたりしない。
これで、解決です。豆知識的な感じですね。知ってれば悩みませんね。知らなきゃ、解決出来ませんね。悩む時間は 3 倍どころじゃないです(当社比・個人差があります)。ググっても簡単には出てこないので、お手上げです。このポストが引っかかるようになって、幸せになる人がいると良いです。
という訳で、「CSE の集計演算のバグは、FROM を詰めて解決する」Hack。気に入ったら試してみてくださいねー☆ま、直面したらやるしかないんですけど。気に入ったら他の人にも教えてあげてくださいねー☆

↑ 知らずに 1 時間以上悩んだ人@午前 ? 時。「そんなの、分かるかよー!」と憤慨していました。そりゃそうですわな。
初めまして。ある事をググッたらひっかかりましたので、コメントさせて頂きます
同じくCSEを使用しているものですが、試しに上記の
SELECT
count(*)FROM
hoge
WHERE
foo = bar
をテーブル名等を変更して実行してみましたところ、正常にカウントされました。
恐らくですが、バグフィックスされていると思いますので、
最新バージョンにアップデートしてみれば如何でしょうか?
ゲールさん、初めまして。バージョンは、1.59 と最新のようですが、情シスに相談してみますね。
情報ありがとうございました。
初めまして。藤倉と申します。
私も普段からCSEを愛用しています。
ブログを書かれてから1年半ほど経過していますが、ちょっと気になりましたのでコメントさせていただきます。
まず、CSEはver.1.59以降、ここ7年ほどバージョンアップしていませんので、バグフィックスされたのではないと思います。
また、うちの社内の環境で、PostgreSQLとSQLServerに対してCSEから上記のように「FROMの前で改行してCount(*)関数を使ったSelect文」を実行してみましたが、全く問題無く結果が表示されました。
そもそもSQL文を解釈して実行するのはDBMSの方であり、CSEは単に人間とDBMSとのインターフェースを取りもっているに過ぎませんので、「CSEに集計関数のバグ」というのはあり得ないと思います。
そこで考えられるのは、DBMSとCSEの間のDLLのバグです。(DBMS本体にこんな単純なバグがあるとはあまり考えられませんので)
使用されているDBMSはMySQLでしょうか?
古い「libmysql.dll」にはバグがある可能性がありますので、もし古いものをお使いでしたら最新のファイルに変更してみてください。
もしかしたらこれで解決するかもしれません。