【问题标题】:Select Rows and Flag Column if value found如果找到值,请选择行和标志列
【发布时间】:2021-02-06 13:41:21
【问题描述】:

我需要帮助来创建查询

目前情况:

输出表包含 ID 和级别。每个 Id 可以出现多次。

问题:

现在我想知道 id 是否出现级别 1,如果是,我想将其标记为数字 1。如果 ID 只有级别 2 或零,则将其标记为数字 0。

可以从下表中获取输出。

【问题讨论】:

    标签: sql sql-server select case


    【解决方案1】:

    使用聚合:

    select id,
           max(case when level = 1 then 1 else 0 end) as flag
    from t
    group by id;
    

    【讨论】:

    • @FlEx 。 . .仅当 level 的值为 1 时,case 才会返回 1max() 总结了给定 id 的所有行。
    猜你喜欢
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多