将多行连接成具有相同 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_;
当我对(调查的)几列进行查询时出现问题,因为我希望输出指向单个 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_;