如何将部分SQL结果移动到一行

时间:2015-08-04 19:50:14

标签: sql sql-server-2008

我有一个检索以下输出的基本查询:

select * from clients where ID in ('7320039', '851236')

结果:

ID      date_of_birth   desc        create_timestamp
7320039 20130319        MMR         3/21/2014
7320039 20130319        MMR         6/23/2014
851236  20140102        HIB         4/5/2014
851236  20140102        HIB         6/8/2014

但是,我希望我的结果输出如下:

结果:

ID      date_of_birth   desc        create_timestamp    New_col
7320039 20130319        MMR         3/21/2014           6/23/2014 
851236  20140102        HIB         4/5/2014            6/8/2014

1 个答案:

答案 0 :(得分:2)

您可以使用minmax函数来获取输出:

select 
    ID, date_of_birth, [desc], 
    MIN(create_timestamp) create_timestamp, 
    MAX(create_timestamp) new_col 
from clients where ID in ('7320039', '851236')
group by ID, date_of_birth, [desc]

由于你没有解释转型背后的逻辑,这可能是,也可能不是你正在寻找的。