將第一個 sql 語句中的結果作為第二個 sql 的引數值
需求:
報表多個資料集,第二個資料集的引數需要引用第一個資料集的結果集作為引數值過濾資料。
解決思路:
因為報表的資料集都是同時計算的,所以不能直接將 ds1 的結果集作為 ds2 的引數值。
所以使用動態引數的方式,利用 query() 函式去解決。
示例說明:將 demo 資料庫表中訂單表透過貨主名稱過濾資料,然後查詢對應的訂單 ID 的 訂單明細。
操作步驟:
1、先新建一個資料集 ds1、設定方法如下圖。並且在報表—引數裡面增加引數 arg1。
2。新建 ds2 資料集,
sql 語句為:select * from 訂單明細 where 訂單 ID in (${m})
說明:1. 因為 ${m} 是動態引數的寫法,所以不需要設定資料集的引數。
2. 因為 ds1 過濾的資料可能不是一條,所以我們用 in 的字串組的方式去過濾 ds2 的資料。
3、設定動態引數。
寫 if 的判斷是為了 ds2 資料集一個預設引數值。不然當引數為空的時候 會報錯。
然後執行報表預覽既可測試效果。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2671154/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL語句中聚合函式忽略NULL值的總結SQL函式Null
- shell前一個命令結果作為下一個命令引數
- SQL語句中直接修改隱含引數,避免影響整個DBSQL
- SQL語句中的單引號與雙引號SQL
- sql語句中as的用法SQL
- MyBatis的使用三(在sql語句中傳值)MyBatisSQL
- 總結SQL語句中的優化提示SQL優化
- jmeter 如何將上一個請求的結果作為下一個請求的引數——使用正則提取器JMeter
- Python 提取出SQL語句中Where的值的方法PythonSQL
- sql語句中JOIN ON 的使用SQL
- SQL Server SQL語句中的函式呼叫與Oracle SQL語句函式呼叫一個有趣的差別SQLServer函式Oracle
- 【EVENT】使用10046事件獲取SQL語句中繫結變數的具體值事件SQL變數
- 每個月的sql引數配置SQL
- 在ORACLE SQL語句中,單引號和雙引號的使用OracleSQL
- 轉貼_使用10046事件獲取SQL語句中繫結變數的具體值事件SQL變數
- sql語句中#{}和${}的區別SQL
- sql語句中as的用法和作用SQL
- sql語句中select……as的用法SQL
- sql語句中較為重要的查詢邏輯SQL
- PLSQL Language Reference-PL/SQL語言基礎-變數賦值-作為子程式引數來賦值SQL變數賦值
- SQL插入語句中有單引號 && SQL中char nchar varchar nvarchar的區別 && Java中字元(串)和數值型別的轉換SQLJava字元型別
- JavaScript replace()第二個引數為函式時的引數JavaScript函式
- PB帶引數帶結果集的動態SQL查詢SQL
- SQL語句中exists和in的區別SQL
- SQL語句中not in 和not exist的區別SQL
- sql語句中as的意思是什麼SQL
- 在sql語句中替換Not In 的方法SQL
- sql語句中常量的處理SQL
- Cursor 作為引數傳遞並返回結果
- 如何跑通第一個 SQL 作業SQL
- SQL 語句中關於 NULL 的那些坑SQLNull
- SQL語句中NULL的真實含義SQLNull
- MyBatis在SQL語句中取list的大小MyBatisSQL
- 調整oracle的一個pga引數,讓一個sql語句執行飛快OracleSQL
- laravel中whereIn方法中使用SQL作為引數的途徑LaravelSQL
- GO語言————6.7 將函式作為引數Go函式
- SQL語句中SELECT語句的執行順序SQL
- 獲取sql繫結變數的值SQL變數