sql >> データベース >  >> RDS >> Mysql

BIRTでのパラメータ入力後のデータセットクエリの更新

    Oracle DBを使用していると仮定すると(他のシステムでは動作が異なる場合があります)、バインド変数(JDBC音声の場合:疑問符)がスカラー値を置き換える可能性があることに注意してください。 のみ、例:文字列または数字。

    しかし、リストのようなものが必要です この場合、バインド変数は役に立ちません。

    おそらくあなたが望むものを達成するための最も簡単な方法はこれです:

    クエリに次のように記述します:

    WHERE column_name in (1) -- $REPLACE_THIS$
    

    クエリでコメントをマーカーとして使用していることに注意してください。次に、クエリのbeforeOpen イベントの場合、クエリテキストを次のように変更します:

    // construct a comma-separated string representation of your list
    // based on your report parameter (exercise left to the reader)
    // var replacement = my_to_sql_csv(params["my_report_parameter"].value);
    
    // for demonstration use:
    var replacement = "1,2";
    
    // modify the `IN` expression inside the SQL
    this.queryText = this.queryText.replaceAll("(1) -- $REPLACE_THIS$", "(" + replacement + ")";
    

    それだけです。




    1. IN演算子を使用してNULL値と空白をフィルタリングすると、機能しないのはなぜですか?

    2. IDに基づいて値を連結します

    3. SQL Server(T-SQL)でデータベースメールプロファイルを作成する

    4. データを並べ替えないようにするにはどうすればよいですか?