今天遇到個需求,要匹配兩個表, 但是關聯的字段,在另一個表中是放在一個字段中用分號分割的
怎么全部匹配呢?
后來在網上搜到了, 記錄下
SELECT cp.ES_EXTNUMBER, cp.ES_AGENTID, cp.ES_CHSTATESTR, (sysdate-cp.ES_STARTDATETIME)*24*3600 es_times, REGEXP_SUBSTR(CP.ES_GROUP, '[^;]+', 1, L) AS ES_GROUP ,L FROM aladdinpbx_extstate CP, (SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 10) WHERE L(+) <= LENGTH(CP.ES_GROUP) - LENGTH(REPLACE(CP.ES_GROUP, ';')) + 1 order by ES_EXTNUMBER
效果如下圖:
來源點這里,其原文的分隔符是逗號, 我用的是分號, 如果你用其他符號, 也就是只要改改sql中的對應的分隔符就行了!^_^