wm_concat()函数是oracle中独有的,mysql中有一个group_concat()函数。

这两个函数的作用是相同的,它们的功能是:实现行转列功能(就是多行整合成一列,例如一个工单里有多个项目,工单号是一样的,则可以把多个项目行中项目字段整合成一行,最后变成一个工单号一行,这一行包含此工单里所有项目的整合字段),即将查询出的某一列值使用逗号进行隔开拼接,成为一条数据。

LEFT JOIN (
	select 
	a.REPAIR_ORDER_ID AS REPAIR_ORDER_ID,
	wm_concat ( '---项目名:' ||to_char(a.PROJECT_NAME )) AS note 
from 
	LK_REPAIR_WORK_HOURS a
LEFT JOIN 
	LK_REPAIR_ORDER b ON (a.REPAIR_ORDER_ID = b.id)
WHERE 
	a.dr = 0
GROUP BY
	a.REPAIR_ORDER_ID 
	) f ON (f.REPAIR_ORDER_ID = a.id)
运行结果:	
	---项目名:斗杆油缸抱箍,---项目名:铲斗油缸抱箍
	

整合前:
在这里插入图片描述

整合后:

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐