将多行连接成具有相同 ID 的单行

Joining multiple lines into a single one with the same ID

当我对(调查的)几列进行查询时出现问题,因为我希望输出指向单个 ID,而不是查询为该 id 提供的每个响应划分输出。

原始查询

select distinct _PanelistaId_,
(case when cancl_seg_vida_mr = '4' then '1' end) as cancl_seg_vida_mr,
(case when prop_seg_med_mr = '5' then '1' end) as prop_seg_med_mr
FROM [NQ_Mexico].[dbo].[tabla_sr_mr_values] 
where _PanelistaId_ = '100177354'
group by _PanelistaId_, cancl_seg_vida_mr, prop_seg_med_mr

输出是:

_PanelistaId_   cancl_seg_vida_mr   prop_seg_med_mr
100177354         NULL          NULL
100177354         NULL          1
100177354         1             NULL

但我想要的输出是这个:

_PanelistaId_   cancl_seg_vida_mr   prop_seg_med_mr
100177354           1               1

使用聚合:

select _PanelistaId_,
       max(case when cancl_seg_vida_mr = '4' then '1' end) as cancl_seg_vida_mr,
       max(case when prop_seg_med_mr = '5' then '1' end) as prop_seg_med_mr
from [NQ_Mexico].[dbo].[tabla_sr_mr_values] 
where _PanelistaId_ = '100177354'
group by _PanelistaId_;