如何在 SQL Server 中比较具有相同 ID 的不同行中的相同值

盐渍

我有一个表 #temp 具有以下数据集。

在此处输入图片说明如果 pog='Benchmark' 和 id=33 然后匹配的老化列数据应附加 Yes 否则否。即,需要得到如下结果,我想得到一个结果集。ID=22 也应该如此。

在此处输入图片说明

任何帮助将不胜感激。

凯厄斯·贾德

您可以为此使用窗口函数:

SELECT 
  id, 
  name,
  CONCAT(
    age, 
    CASE WHEN MAX(pog) OVER(PARTITION BY id) = 'Benchmark' THEN
      CASE WHEN COALESCE(pog, '') <> 'Benchmark' AND Age = MAX(CASE WHEN pog = 'Benchmark' THEN Age END) OVER(PARTITION BY id) THEN '-Yes' ELSE '-No' END 
    END
  ) as age,
  pog
FROM table

我相信这也会起作用:

SELECT 
  id, 
  name,
  CONCAT(
    age, 
    CASE COALESCE(MAX(CASE WHEN pog = 'Benchmark' THEN age END) OVER(PARTITION BY id), -1)
      WHEN age THEN REPLACE(CONCAT(age, pog, '-Yes'), 'Benchmark-Yes', '')
      WHEN -1 THEN ''
      ELSE '-No' END 
    END
  ) as age,
  pog
FROM table

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何比较具有相同ID但其他属性不同的值?

将具有相同标签的XML值分隔到不同的行中SQL Server

如何在SQL中连接许多具有相同ID的行?

如何比较具有不同数据框熊猫的相同ID的不同值

SQL-如何选择两列中具有相同值的不同行

如何比较不同行中的相同列?

如何获取2个不同行但ID相同的所选选项的值

如何使用SQL Server合并具有相同ID的许多行

如何在C ++中存储具有不同值的相同ID号?

如何在一个表中比较两个具有相同值但效果不同的字段?

如何在两个不同的表中比较/匹配SQL Server中的值

sql查询以选择两列中具有相同id但不同值的记录

如何在SQL Server中比较不同的值

如何在SQL Server 2008中比较不同行和不同列中的值

如何在SQL Server中创建具有带数字和字母的ID列的表

如何在许多行中的相同ID的SQL Server中的表上进行迭代?

如何在JavaScript中比较完全相同的字符串但具有不同的字符代码

如何在SQL中获取具有相同ID和不同表的列的总和?

SQL Server 2005中具有相同ID的不同行中的Concat列

在SQL Server中比较具有不同架构的两个表

如何在SQL中比较行数与没有列的值

检查sql server中具有相同id的行的条件

选择具有相同id但不同值的不同行

在 Oracle SQL 中合并具有相同 ID 但不同列值的行

如何检查同一 ID 在不同行中是否具有不同值?

如何在 SQL Server 中为每个 ID 筛选具有多个值的列

如何在具有相同 ID 的列中选择不同的值然后将它们删除 PHP SQL Server

如何在SQL中的一张表中选择多个具有相同ID的值

如何在 SQL 中更新具有相同值或不同值的多個列?