CSE のバグ
Posted on | 12月 12, 2007 | 3 Comments
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 時間以上悩んだ人@午前 ? 時。「そんなの、分かるかよー!」と憤慨していました。そりゃそうですわな。
Related Entries
Comments
-
ゲール
-
藤倉


