oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法

方法一

表T_PE_CSXM
oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法

表STD_PE_XMDL
oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法
其中表T_PE_CSXM中XMDL中的值为STD_PE_XMDL中CODE。
如果想得到如下图所示结果:
oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法
sql代码可用:SELECT X.XM_ID, X.XMMC, X.XMDL,(SELECT wm_concat(L.NAME)FROM STD_PE_XMDL L WHERE INSTR(X.XMDL,CODE) > 0) XMLXMC, X.XMXL, X.CLDW, X.BZ, X.SFQY FROM T_PE_CSXM X

方法二

表T_XG_KYKT

oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法

表STD_XB_KTLY:
oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法
起中表T_XG_KYKT中KTLY字段中的值为STD_XB_KTLY表中CODE字段,如想得到如下结果:
oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法
SQL可为:SELECT K.KTMC,K.KTLY,(SELECT LISTAGG(L.NAME, ',') WITHIN GROUP(ORDER BY L.CODE) FROM STD_XB_KTLY L WHERE INSTR(K.KTLY,L.CODE ) > 0) KTLYMC FROM T_XG_KYKT K

希望对大家有帮助。