我遇到了一些查询问题,因为我有相同时间戳的多行。
| 1 | 2017-09-21 08:52:18.000 | 120 | 255 | 0 | 0 | 0 | 0 | |
| 2 | 2017-09-21 08:52:18.000 | | | | | | | 17203200 |
我希望结果是
| R | 2017-09-21 08:52:18.000 | 120 | 255 | 0 | 0 | 0 | 0 | 17203200 |
因为它是相同的数据,但因为它们来自不同的表,所以它创建了2行或更多行,我想用所有值将其压缩到一行,如果两者都有值,我想保持最高值。
答案 0 :(得分:3)
你可以尝试一下
Declare @Table table (
Column1 int
,Column2 datetime
,Column3 int
,Column4 int
,Column5 int
,Column6 int
,Column7 int
,Column8 int
,Column9 int
,Column10 int
)
INSERT @Table Values
(1,'2017-09-21 08:52:18.000',120,255,0,0,0,0, NULL,NULL )
,(2,'2017-09-21 08:52:18.000',NULL ,NULL , NULL, NULL, NULL, NULL,17203200,NULL)
SELECT
Column2
,Max(Isnull(Column3 ,0)) Column3
,Max(Isnull(Column4 ,0)) Column4
,Max(Isnull(Column5 ,0)) Column5
,Max(Isnull(Column6 ,0)) Column6
,Max(Isnull(Column7 ,0)) Column7
,Max(Isnull(Column8 ,0)) Column8
,Max(Isnull(Column9 ,0)) Column9
,Max(Isnull(Column10,0)) Column10
FROM
@Table
Group By
Column2