Oracle系列(三): 情景查询一 a表中有个fid字段,逗号分隔开来,b表中有id字段及其他信息,如何关联a表的fid和和b表的id字段查询
现在有两个表,表a中
DOC | FID |
1 | a,b,c |
2 | a,c,d |
表b中
ID | KEY |
a | A |
b | B |
c | C |
d | D |
怎么联合查询出
DOC | FID | KEY |
1 | a,b,c | A,B,C |
2 | a,c,d | A,C,D |
解决方案:
SELECT A .DOC, A .fid ( SELECT listagg (b.key, ',') WITHIN GROUP (ORDER BY b.id) FROM b b WHERE INSTR ( ',' || A .fid || ',', ',' || b.id || ',' ) > 0 ) fdKey FROM a A WHERE whereblock