首页 > 解决方案 > 比较另一个 id 下属于不同 ids 组的行并将结果打印在单独的列中

问题描述

我正在寻找一种 SQL 查询解决方案,它允许我比较不同的属性和它们的值,它们在行中,用于分组在父 ID 下的不同 ID。我想在单独的列中打印结果是否匹配。下面的屏幕截图包含数据和以红色标记的所需结果。

看看这个用例

在此处添加从 GMB 运行查询时得到的结果。我还添加了一列 Excpected_Result 以便我们可以轻松查看差异: GMB 查询与预期结果

标签: sqlsql-servertsqlwindow-functions

解决方案


您可以使用窗口函数和条件表达式:

select
    t.*,
    case when count(*) over(partition by attributeName, attributeValue) > 1 
        then 'True'
        else 'False'
    end has_match
from mytable t

推荐阅读