sql问题

image.png

如图临时表temp有ip,loginName,UserName,grabDate,sName五个字段,怎么写sql使前四个字段:ip,loginName,UserName,grabDate相同时,最后一个字段sName不一样时,把最后一个字段用空格或者逗号拼接起来然后两条数据合并成一条数据?达到成一条数据的效果,而不是现在的两条。(数据库用的sql server)

SQL yzmaDt6d6191220 发布于 2023-5-30 10:12
1min目标场景问卷 立即参与
回答问题
悬赏:1 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-5-30 10:16

WITH TABLENAME AS(

SELECT '192.168.1.1' [IP],'123' [LOGINGNAME],'张三'[USERNAME],'2023-05-03' [grabDate],'AA'[sName]

UNION ALL

SELECT '192.168.1.1' [IP],'123' [LOGINGNAME],'张三'[USERNAME],'2023-05-03' [grabDate],'CC'[sName]

)

SELECT IP,LOGINGNAME,USERNAME,grabDate,STRING_AGG(sName,',') [NEW] FROM TABLENAME GROUP BY IP,LOGINGNAME,USERNAME,grabDate

image.png

  • yzmaDt6d6191220 yzmaDt6d6191220(提问者) 我这边提示报错:string_agg不是可以识别的内置函数
    2023-05-30 10:22 
  • Z4u3z1 Z4u3z1 回复 yzmaDt6d6191220(提问者) 你的版本低于SqlServer2017?
    2023-05-30 10:33 
  • Z4u3z1 Z4u3z1 回复 yzmaDt6d6191220(提问者) https://blog.csdn.net/u013230234/article/details/75299953 参考文档
    2023-05-30 10:42 
  • yzmaDt6d6191220 yzmaDt6d6191220(提问者) 回复 Z4u3z1 对,用的是2014版本的
    2023-05-30 10:48 
  • Z4u3z1 Z4u3z1 回复 yzmaDt6d6191220(提问者) 参考上面链接中 的 示例
    2023-05-30 10:51 
  • 1关注人数
  • 194浏览人数
  • 最后回答于:2023-5-30 10:23
    请选择关闭问题的原因
    确定 取消
    返回顶部