Q&A

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

SQLアクションでUNIONを使用するとSQLActionErrorが発生する

celf_user celf_user

2024-12-04 00:08

トライアル版を利用しています。
以下のようなSQLをSQLアクションにて実装し、実行しましたところ、
--------------------
SQLActionError: 処理を実行中にエラーが発生しました。
01007: サーバーでの処理でエラーが発生しました。管理者にお問い合わせください。
String index out of range: 0
--------------------
とのエラーが発生し、解消方法が不明です。
ご教示いただけたらと思います。

▼実行SQLイメージ
SELECT
tbl1.start_date
, tbl1.name
FROM
tbl1
INNER JOIN tbl2
ON tbl2.code = tbl1.code
WHERE
tbl1.serial_no = %serialNo%
UNION
SELECT
tbl3.start_date
, tbl3.name
FROM
tbl3
WHERE
tbl3.serial_no = %serialNo%
ORDER BY
start_date

celf_user celf_user
お世話になります。
ご教示ありがとうございました。

>また、MySQLではUNIONで結合する場合、
>あるカラムの出力結果がすべて空のとき、エラーとなる
ご教示の通り、取得結果にすべて空となるカラムが存在しました。
回避しましたところ、エラーとならず意図した結果が取得できました。

MySQLの知識不足でした。。。
ありがとうございました!!!
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
メダルベストアンサー
こんにちは

恐らく、SQLエラーが疑われますが、
UNIONで結合せず、それぞれ単体のSQLで実行した場合は、
データ取得できますでしょうか。

また、MySQLではUNIONで結合する場合、
あるカラムの出力結果がすべて空のとき、エラーとなるなど
制約があるため、1つ1つ解消いただく必要があります。


以上、よろしくお願いいたします。
メールコンタクトをとる