在t / sql中使用group by将多行合并为一个

时间:2019-03-03 15:49:46

标签: tsql group-by

我需要像这样组合两行:

Name     Option
John     Priority
John     Insurance

...像这样:

Name     Option
John     Both

如果源表中只有John的一行,那么结果的Option值应该与表中的值相同。

使用分组依据,我不确定此处的内容:

 select Name, case when Count(Option) > 1 then 'Both' else ??? end Option
 group by Name

1 个答案:

答案 0 :(得分:1)

如果只有一行/值,则Max()将为您提供该值。所以您可以尝试:

select Name, case when Count(Option) > 1 then 'Both' else Max(Option) end as Option
from whatever
group by Name

只有当您可以确定只有两个选项时,这才有意义。