T-SQL如何将多行组合成一行

时间:2015-04-11 19:43:06

标签: sql sql-server tsql

我已经搜索了我能想到的所有内容,并且无法找到符合我需求的解决方案。它在理论上非常简单:我需要通过其成员代码组合结果集的多行。每个成员代码的价格列的值始终相同,每个成员代码只有一个价格%值。

|Member_Code|price 1|price 1%|price 2|price 2%|
|      eeeee|     15|      10|     20|       0|
|      eeeee|     15|       0|     20|      50|

我需要的结果

|Member_Code|price 1|price 1%|price 2|price 2%|
|      eeeee|     15|      10|     20|      50|

我的表包含60000条记录,所以我不能只做

select max(column) where member_code = x

sql fiddle http://sqlfiddle.com/#!6/7f084/1

请有人指出我正确的方向。

由于

1 个答案:

答案 0 :(得分:4)

在价格列上使用GROUP BY Member_Code汇总函数的

MAX将有助于

select 
[Member_Code], 
max([Price List 1]),
max([Price List 1%]),
max([Price List 2]), 
max([Price List 2%]), 
max([Price List 3]),
max([Price List 3%])
from Table1 
group by [Member_Code]