Q&A

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

SQL実行のWHERE条件をパラメータ指定にする方法について

nexa nexa

2026-01-06 13:38

SQL実行について、セル(A1)にWHERE条件(col1='test' AND col2 IN ('a','b','c'))が設定されており、
SQLパラメータにparam1 =A1 が設定されている場合、
SQL文を以下のように書いてもデータが取得できません。

SELECT * FROM TBL1 WHERE %param1%

WHERE条件は別テーブルのレコードを加工してセル(A1)に設定しています。
col1, col2は固定ではなく、レコードによって条件の項目は異なります。

セル(A1)の条件でデータを抽出する方法はあるでしょうか。

nexa nexa
ご回答ありがとうございます。
教えていただいた方法で、期待通りの結果になりました。
日本コンピュータシステム(CELFチーム) 日本コンピュータシステム(CELFチーム) パートナー
こんにちは

1つの例として下記のように設定すれば実行できると思いますのでご参考までに。
■SQLをセルへ設定しておく
「="select * from test_sql WHERE 項目1 = %param1% and 項目2 in (%param2%)"」
■param1とparam2の値をセルへ設定しておく
A1  → test
A2~A3 → a,b
■SQLアクションではSQLをセル参照形式で呼び出す
メールコンタクトをとる
nexa nexa
ご回答ありがとうございます。

別のセル(B1)にSELECT文(WHERE条件を含む)を設定し、
SQLパラメータにparam1=B1を設定、
SQL文の欄に「%param1%」と記載し実行したところ、構文エラーが発生しました。
セルを参照して実行する方法を教えていただけますでしょうか。
よろしくお願いいたします。
日本コンピュータシステム(CELFチーム) 日本コンピュータシステム(CELFチーム) パートナー
こんにちは
CELFのヘルプを見ますとSQLアクションの中でパラメータを指定できるのは値だけという書き方がされている為、項目名まで含めてパラメータで渡すことはできないと思われます。
もし項目名を動的に変更したい場合はどこかのセルにセレクト文を文字列で作成しておいてそれを参照して実行すれば実現できるかと思います。

検索条件をパラメータで指定する
https://cloud.celf.jp/celf-help/ja/texts/extension_sql/about_sql.html
メールコンタクトをとる