0

我有数据集

Ptid  Test Result Date
1     BP    Neg   1/1/2013
1     CG    Pos   1/2/2013

我想将结果格式化为

Ptiid  BP  Date      CG   Date
1      Neg  1/1/2013 Pos  1/2/2013

这在 sql server 旋转中可能吗?

4

1 回答 1

1

您可以使用带有 CASE 表达式的聚合函数来获取结果:

select ptid,
  max(case when test = 'BP' then result end) BP,
  max(case when test = 'BP' then date end) BP_Date,
  max(case when test = 'CG' then result end) CG,
  max(case when test = 'CG' then date end) CG_Date
from yt
group by ptid;

请参阅带有演示的 SQL Fiddle

于 2013-06-11T01:16:02.267 回答