sql拼接

image.png这个是根据QDFS区分出的,结果样式为,第一作业区:(三元受效区块1口)B2-361-SE103  

image.png

这个输出的结果是

image.png

现在想要根据工作量类型,CSLX,区分出QDFS中水驱的输出结果,样式为第一作业区:(三元受效区块1口)B2-361-SE103  

image.png

我这样写运行起来不对,没有根据工作量类型,CSLX,区分出QDFS中水驱的输出结果

image.png

SQL 帆软用户zYbRIwkLl8 发布于 2025-8-26 12:45 (编辑于 2025-8-26 12:47)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-8-26 13:14(编辑于 2025-8-26 13:31)

把你的语句复制出来吧,主要是不知道你数据源是如何的,到底要什么结果,目前你这个表达有点乱,一大堆sql。

哪一个是工作类型字段,原始数据是如何的。你把查询语句发出来。

比如oracel中数据明细类似这样

image.png

按classid拼的话

WITH classDate AS (

    SELECT 1 classId, '张一' AS name, 15 age FROM dual

    UNION ALL

    SELECT 1 classId, '李一' AS name, 13 age FROM dual

    UNION ALL

    SELECT 1 classId, '王一' AS name, 12 age FROM dual

    UNION ALL

    SELECT 2 classId, '陈二' AS name, 12 age FROM dual

    UNION ALL

    SELECT 1 classId, '高一' AS name, 13 age FROM dual

    UNION ALL

    SELECT 2 classId, '佟二' AS name, 14 age FROM dual

)

SELECT 

    classId,

    LISTAGG(name || ',' || age, ',') WITHIN GROUP (ORDER BY name) AS concatenated_info

FROM 

    classDate

GROUP BY 

    classId;

image.png

oracle中这个函数用法注意点

(1). 必须得分组,也就是说group  by是必须的。

 (2). listagg函数的第一个参数是需要显示的字段,也就是name;第二个参数是数值之间的分隔符;同时还需要进行排序和分组within group (order by name)

  • 2关注人数
  • 49浏览人数
  • 最后回答于:2025-8-26 13:31
    请选择关闭问题的原因
    确定 取消
    返回顶部