溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何將第一個(gè)sql語(yǔ)句中的結(jié)果作為第二個(gè) sql 的參數(shù)值

發(fā)布時(shí)間:2022-01-15 16:10:15 來源:億速云 閱讀:195 作者:柒染 欄目:互聯(lián)網(wǎng)科技

如何將第一個(gè)sql語(yǔ)句中的結(jié)果作為第二個(gè) sql 的參數(shù)值,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

需求:
報(bào)表多個(gè)數(shù)據(jù)集,第二個(gè)數(shù)據(jù)集的參數(shù)需要引用第一個(gè)數(shù)據(jù)集的結(jié)果集作為參數(shù)值過濾數(shù)據(jù)。

解決思路:
因?yàn)閳?bào)表的數(shù)據(jù)集都是同時(shí)計(jì)算的,所以不能直接將 ds1 的結(jié)果集作為 ds2 的參數(shù)值。
所以使用動(dòng)態(tài)參數(shù)的方式,利用 query() 函數(shù)去解決。

示例說明:將 demo 數(shù)據(jù)庫(kù)表中訂單表通過貨主名稱過濾數(shù)據(jù),然后查詢對(duì)應(yīng)的訂單 ID 的  訂單明細(xì)。
操作步驟:
1、先新建一個(gè)數(shù)據(jù)集 ds1、設(shè)置方法如下圖。并且在報(bào)表—參數(shù)里面增加參數(shù) arg1。

如何將第一個(gè)sql語(yǔ)句中的結(jié)果作為第二個(gè) sql 的參數(shù)值

如何將第一個(gè)sql語(yǔ)句中的結(jié)果作為第二個(gè) sql 的參數(shù)值

2。新建 ds2 數(shù)據(jù)集,
          sql 語(yǔ)句為:select  * from  訂單明細(xì)  where  訂單 ID  in   (${m})      
       說明:1. 因?yàn)?${m}  是動(dòng)態(tài)參數(shù)的寫法,所以不需要設(shè)置數(shù)據(jù)集的參數(shù)。
                 2. 因?yàn)?ds1 過濾的數(shù)據(jù)可能不是一條,所以我們用 in 的字符串組的方式去過濾 ds2 的數(shù)據(jù)。

3、設(shè)置動(dòng)態(tài)參數(shù)。

如何將第一個(gè)sql語(yǔ)句中的結(jié)果作為第二個(gè) sql 的參數(shù)值

  寫 if 的判斷是為了 ds2 數(shù)據(jù)集一個(gè)默認(rèn)參數(shù)值。不然當(dāng)參數(shù)為空的時(shí)候 會(huì)報(bào)錯(cuò)。

然后執(zhí)行報(bào)表預(yù)覽既可測(cè)試效果。

看完上述內(nèi)容,你們掌握如何將第一個(gè)sql語(yǔ)句中的結(jié)果作為第二個(gè) sql 的參數(shù)值的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

sql
AI