oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法
方法一
表T_PE_CSXM
表STD_PE_XMDL
其中表T_PE_CSXM中XMDL中的值为STD_PE_XMDL中CODE。
如果想得到如下图所示结果:
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
表STD_XB_KTLY:
起中表T_XG_KYKT中KTLY字段中的值为STD_XB_KTLY表中CODE字段,如想得到如下结果:
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
希望对大家有帮助。