按重复数据的列分组

时间:2013-04-30 16:13:10

标签: sql-server

在SQL Server中,我有一个表,其中包含少量列中的重复数据,而在其他几列中有一些NULL值,如下所示。

DirName | BillingNPI | Average | TotalClaims | MaxString | MinString | CorrectString
------------------------------------------------------------------------------------
AASTA   | 158967     |  10     |   20        |  NULL     |  NULL     |  Value
AASTA   | 158967     |  10     |   20        |  NULL     |  ValueSTA |  Value
AASTA   | 158967     |  10     |   20        |  STAValue |  NULL     |  Value

现在使用GROUP BY我正在尝试将查询的输出设为

DirName | BillingNPI | Average | TotalClaims | MaxString | MinString | CorrectString
------------------------------------------------------------------------------------
AASTA   | 158967     |  10     |   20        |  STAValue |  ValueSTA |  Value

我是否必须在同一个表上使用内部联接才能实现此目的?

1 个答案:

答案 0 :(得分:0)

这能满足您的需求吗?

select 
  DirName , 
  BillingNPI , 
  Average , 
  TotalClaims , 
  max(isnull(MaxString,'') maxstring, 
  max(isnull(MinString,'') minstring,
  CorrectString
group by 
  DirName , 
  BillingNPI , 
  Average , 
  TotalClaims , 
  CorrectString