SQL将空行与非空合并

时间:2018-09-07 16:21:33

标签: sql sql-server tsql

由于编写特定表的方式,我需要在SQL中做一些奇怪的事情,而我找不到执行此操作的“简单”方式

表格

Name   Place     Amount
Chris  Scotland  
Chris            £1  
Amy    England
Amy              £5

输出

Chris  Scotland  £1
Amy    England   £5

我想做的是上面的事情,因此空行实际上被忽略,并根据名称进行“分组”

我正在使用For XML进行这项工作,但是速度非常慢,有没有更聪明的方法呢?

1 个答案:

答案 0 :(得分:3)

这是MAX工作的地方

select 
   Name
   ,Place = Max(Place)
   ,Amount = Max(Amount)
from
   YourTable
group by
   Name

自然地,如果给定名称的位置出现多次,则可能会得到意外的结果。