Sql 将一列中的重复结果合并到一行中,同时删除所有其他列中的空值

Sql 将一列中的重复结果合并到一行中,同时删除所有其他列中的空值,sql,sql-server,group-by,Sql,Sql Server,Group By,我创建的脚本的结果包含一些信息,我希望将这些信息合并到每个唯一ID的单行中 结果示例 ID|File1|File2|File3|File4 1 |1.txt|NULL |3.txt|4.txt 1 |NULL |2.txt|NULL |4.txt 2 |NULL |2.txt|NULL |4.txt 2 |1.txt|NULL |3.txt|4.txt 我正在尝试为上面的表编写脚本,以包含唯一ID,同时删除所有空值 我试图达到的结果如下 ID|File1|File2|File3|File4

我创建的脚本的结果包含一些信息,我希望将这些信息合并到每个唯一ID的单行中

结果示例

ID|File1|File2|File3|File4
1 |1.txt|NULL |3.txt|4.txt
1 |NULL |2.txt|NULL |4.txt
2 |NULL |2.txt|NULL |4.txt
2 |1.txt|NULL |3.txt|4.txt
我正在尝试为上面的表编写脚本,以包含唯一ID,同时删除所有空值

我试图达到的结果如下

ID|File1|File2|File3|File4 
1 |1.txt|2.txt|3.txt|4.txt 
2 |1.txt|2.txt|3.txt|4.txt
我需要根据文件1、2、3和4所属的唯一ID对它们进行分组,同时删除任何空值

我没有主意了,老实说,我不知道用什么词来形容我的问题,所以谷歌收回了一些匹配的结果

如果所有其他方法都失败了,我可以将结果粘贴到excel中,并使用Vlookup获取结果,但我正在尝试编写所需的结果脚本

提前感谢

使用MAX()按ID分组将完成此工作

SELECT  ID, max(file1), max(file2), max(file3), max(file4)
FROM    table
GROUP BY ID
使用MAX()按ID分组将执行此任务

SELECT  ID, max(file1), max(file2), max(file3), max(file4)
FROM    table
GROUP BY ID

好极了工作得很好。非常感谢!!好极了工作得很好。非常感谢!!