Sql server 按重复数据列分组

Sql server 按重复数据列分组,sql-server,Sql Server,在SQL Server中,我有一个表,其中有几列重复数据,其他几列为空值,类似的内容如下所示 DirName | BillingNPI | Average | TotalClaims | MaxString | MinString | CorrectString ------------------------------------------------------------------------------------ AASTA | 158967 | 10 |

在SQL Server中,我有一个表,其中有几列重复数据,其他几列为空值,类似的内容如下所示

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
现在使用
groupby
我正在尝试将查询的输出

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

我必须在同一个表上使用内部联接才能实现这一点吗?

这能满足您的需要吗

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

您应该按非空列进行聚合,并为其他列执行
max
聚合功能。示例:
选择dirname、billingnpi、avarage、max(totalclaims)作为totalclaims,max(maxstring)作为maxstring。。。来自dirname、billingnpi、avarage的_表组
感谢danihp的帮助。欢迎使用SO。我可以发布它作为答案,以便检查它作为解决方案,如果你想。你知道它是怎么工作的吗?不需要,