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

  

posted @ 2018-03-19 15:13  你的路人甲  阅读(311)  评论(0编辑  收藏  举报