By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE t
(
id INT IDENTITY PRIMARY KEY,
dt datetime,
type int,
grp int,
typecol1 varchar(10),
typecol2 varchar(10),
typecol3 varchar(10),
typecol4 varchar(10)
)
INSERT INTO t (dt,type,grp,typecol1,typecol2,typecol3,typecol4)
VALUES
('2019-01-15',1,1,'A',null,null,null),
('2019-01-15',2,2,null,'B',null,null),
('2019-01-15',3,3,null,null,'C',null),
('2019-01-15',4,4,null,null,null,'D'),
('2019-02-15',1,1,'AA',null,null,null),
('2019-02-15',4,2,null,null,null,'DD'),
('2019-03-15',3,1,null,null,'CCC',null),
('2019-04-15',2,1,null,'BBBB',null,NULL);
SELECT * FROM t;
SELECT dt,MAX(typecol1)typecol1,MAX(typecol2)typecol2,MAX(typecol3)typecol3,MAX(typecol4)typecol4
FROM t
GROUP BY dt
id | dt | type | grp | typecol1 | typecol2 | typecol3 | typecol4 |
---|---|---|---|---|---|---|---|
1 | 15/01/2019 00:00:00 | 1 | 1 | A | null | null | null |
2 | 15/01/2019 00:00:00 | 2 | 2 | null | B | null | null |
3 | 15/01/2019 00:00:00 | 3 | 3 | null | null | C | null |
4 | 15/01/2019 00:00:00 | 4 | 4 | null | null | null | D |
5 | 15/02/2019 00:00:00 | 1 | 1 | AA | null | null | null |
6 | 15/02/2019 00:00:00 | 4 | 2 | null | null | null | DD |
7 | 15/03/2019 00:00:00 | 3 | 1 | null | null | CCC | null |
8 | 15/04/2019 00:00:00 | 2 | 1 | null | BBBB | null | null |
dt | typecol1 | typecol2 | typecol3 | typecol4 |
---|---|---|---|---|
15/01/2019 00:00:00 | A | B | C | D |
15/02/2019 00:00:00 | AA | null | null | DD |
15/03/2019 00:00:00 | null | null | CCC | null |
15/04/2019 00:00:00 | null | BBBB | null | null |
Warning: Null value is eliminated by an aggregate or other SET operation.