您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關like中怎么動態查詢結果集,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
有這么一個需求,有個sys_org表
可見這個code可以like查詢所有子集沒有什么問題,就是根據一個code值查詢這個code自己包括所有子集,這時候只需要一個like就能很簡單的查詢出來,
但是現在有個中間表paper_org如下結構,
首先根據試卷id查出所有的code來,然后再根據這些code查詢出所有子集來,這時候再用like會直接報錯!
那么該怎么查詢呢,第一種先查詢所有的code來然后再遍歷查詢所有子集可以實現,但是能直接一次查詢出來么?
這里經過調研開始可以實現的,目前只是實現,效率方便暫不考慮
首先mysql有個regexp表達式 可以直接這樣查詢
那關鍵就是后面這個字符串了,第二步從中間表查出這個字符串,有個GROUP_CONCAT('|^',column)分隔字符串
可以看到字符串基本可以了然后前面有了個匹配符^,繼續用concat函數如下
這就是正則表達式想要的字符串,有了這個之后就好說了,然后直接如下
select code from sys_org where code regexp (select code from (SELECT concat('^',GROUP_CONCAT(distinct code ORDER BY id DESC SEPARATOR '|^')) code FROM examine_paper_org where paper_id='1358321465280679938') a) ;
以上就是like中怎么動態查詢結果集,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。