Я пытаюсь денормализовать некоторые данные в 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?