【发布时间】:2019-05-30 15:33:32
【问题描述】:
我正在尝试对 SQL Server 中的一些数据进行非规范化,并且能够成功地对引用表进行透视,但希望能够合并类似的行。
枢轴执行如下
select distinct
'name' = sFname + ' ' + sLname,
advanced,
basic,
standard
from
(select * from dbName..person where deleteFlag <> 'Y') as tableTemp
pivot (
count(serviceType)
for serviceType IN (advanced, basic, standard)
) as tablePivot
然后返回
name | advanced | basic | standard
----------+----------+-------+---------
abby a | 1 | 0 | 0
abby a | 0 | 1 | 0
charlie c | 0 | 1 | 0
charlie c | 0 | 0 | 1
但我想以这种形式返回
name | advanced | basic | standard
----------+----------+-------+---------
abby a | 1 | 1 | 0
charlie c | 0 | 1 | 1
原始数据的结构类似于
sFname | sLname | serviceType |
---------+----------+-------------+
abby | a | advanced |
abby | a | basic |
charlie | c | basic |
charlie | c | standard |
如何运行 group by 或 select distinct 之类的操作以在 SQL Server 中返回合并的透视表?
【问题讨论】:
标签: sql-server group-by pivot distinct