select full_cert_name
from tbl_fullofcerts
where certid in (select regexp_substr(pre_purposetypeid, '[^,]+', 1, column_value)
from that_table cross join
table(cast(multiset(select level from dual
connect by level <= regexp_count(pre_purposetypeid, ',') + 1
) as sys.odcinumberlist))
);
SELECT full_cert_name
FROM tbl_fullofcerts c
WHERE EXISTS(
SELECT 1
FROM table_name t
WHERE ';' || t.pre_purposetypeid || ';' LIKE '%;' || c.certid || ';%'
);
或
SELECT c.certid,
c.full_cert_name,
t.pre_purposetypeid
FROM tbl_fullofcerts c
INNER JOIN table_name t
ON ';' || t.pre_purposetypeid || ';' LIKE '%;' || c.certid || ';%';
2条答案
按热度按时间7uhlpewt1#
以下(子查询)是拆分它的一种方法:
它是做什么的?例如:
最终的代码取决于你真正想做什么(我不太明白你的问题,因为“这是我需要帮助的地方”是不是很描述性),但-这是一般的想法。
suzh9iv82#
不要拆分字符串(这是一个开销很大的操作,没有必要);而是查找匹配的子字符串(包括前导和尾随分隔符,以便匹配整个术语):
或