小编Bri*_*ian的帖子

根据应用于列的case语句选择一个不同的行

我无法找出一个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技能非常生疏,因为它已经有一段时间了.

关于我应该采取的方向的任何暗示?

sql t-sql

0
推荐指数
1
解决办法
6855
查看次数

标签 统计

sql ×1

t-sql ×1