我无法找出一个SQL查询(使用MS Sql Server).我正在尝试从数据集中检索单行,其中具有一个id的项可以包含多行.让我失望的部分是正确的行应该基于"层次结构".我试图在这个问题上抛出一个案例陈述.
一些样本数据:
Id Class Date
100 Red 2012-12-12
100 Blue 2012-12-31
200 Red 2012-10-31
300 Green 2012-04-04
300 Blue 2011-09-01
Run Code Online (Sandbox Code Playgroud)
我想根据Class的值返回一行.
Case When Red Then
Date
Case When Blue Then
Date
Case When Green Then
Date
Else
''
Run Code Online (Sandbox Code Playgroud)
我的最终数据集应如下所示:
Id Class Date
100 Red 2012-12-12
200 Red 2012-10-31
300 Blue 2011-09-01
Run Code Online (Sandbox Code Playgroud)
因此,如果其中一个重复行的值为Red,请首先使用该行中的日期.然后是蓝色,然后是绿色.
整天都在处理这个问题,玩弄子查询,分组,拥有,案例陈述,派生表.我的sql技能非常生疏,因为它已经有一段时间了.
关于我应该采取的方向的任何暗示?