解题思路:
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个属性自动合并插入另一张表格。我修改了问题图片,您看一下。