sql如何查询同一时间同一id,把不同的属性值插入为一行?

大概是第一张图数据这样,同一个时间同一个id分别3个属性传值。如何将他们合并为一行,插入另一张表格。

解题思路:

1、建立临时表

2、获取一个时间值,用以插入临时表

3、向临时表插入测试数据

4、用分组方式进行查询

具体方法:

--1、建立临时表
DECLARE @T TABLE
(
ID INT,
[TIME] DATETIME,
ZW INT,
LS INT,
LL INT
)
--2、固定当前时间,准备向临时表插入TIME数据
DECLARE @TIME DATETIME
SELECT @TIME = GETDATE()
--3、向临时表插入数据
INSERT INTO @T(ID,[TIME],ZW,LS,LL)
SELECT 1,GETDATE(),1,NULL,NULL
UNION 
SELECT 1,GETDATE(),NULL,2,NULL
UNION 
SELECT 1,GETDATE(),NULL,NULL,3
--4、以ID、TIME分组,分别获取最大值的ZW、LS、LL
SELECT ID,[TIME],MAX(ZW) AS ZW,MAX(LS) AS LS,MAX(LL) AS LL
FROM @T
GROUP BY ID,[TIME]

追问

您好,您这样是否就是手动输入数值呢。后期数据多了想让它自动检测相同id、相同时间的3个属性自动合并插入另一张表格。我修改了问题图片,您看一下。

温馨提示:答案为网友推荐,仅供参考