Q&A

回答の並べ替え:
投稿新規に質問を投稿する

CONCAT関数を含むSQLの実行結果をセル起点で表示すると選択結果が消える

G.B. G.B.

2019-09-17 13:21

CELFのSQL実行機能を利用してSQLを実行しています。
SELECT句にMYSQLの文字列結合関数 CONCAT関数を使用し、文字列(varchar)を結合して選択します。

SELECT CONCAT(a,b),c
FROM test_table
これをセル起点で表示します
結果としては
1列目のセル,2列目のセル
ab,c
が2列のセルに表示されることを期待しているのですが
1列目のセル
c
のみがセルに表示されます。

カラムはCONCAT関数を使用したひとつのみ選択のSQL
SELECT CONCAT(a,b)
FROM test_table
をCELF上で実行しますと、
1列目のセル
ab
がセルに格納されます
どうもCONCAT関数より後ろの列が展開されていないような状態です。
mySQLのツール MYSQL WORKBENCHでSQLを実行すると当方が欲しい結果が得られますので、SQLの間違いではなく、DBのほうにNULLが入っているのでもなさそうです。

これは当方の環境だけでしょうか。
やりたいことを他に実現する方法はありますでしょうか。

G.B. G.B.
ありがとうございました。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
CELFでSQLアクションを使った場合に、SELECT句で計算式や関数を使った際、別名を明示しないとエラーになる認識です。(DB依存があるかもしれませんが。)

計算式や関数を使ったSELECTには、必ず別名を付ける様にして頂いた方が間違いがないと思われます。

メールコンタクトをとる
bntw bntw
メダルベストアンサー
私の場合はAS句を使って別名を作成することで、文字列結合が出力出来ました。

質問者様の最初の例を使わせていただくと

SELECT
 CONCAT(a,b) AS ab, c
FROM test_table

となります。