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