SQL - сводная таблица и группа не работают
У меня есть таблица следующим образом:
Product #users Date Count Type
prodA 29 2013-02-27 113 Document
prodA 31 2013-03-02 152 Extraction
prodB 17 2013-02-26 40 Document
prodB 28 2013-03-02 73 Extraction
Мне нужно использовать сводную таблицу в столбце [Тип] / Количество и получить таблицу следующим образом:
Product #users Date Document Extraction
prodA 60 2013-03-02 113 152
prodB 45 2013-03-02 40 73
где столбец #user - это сумма, сгруппированная по продуктам, а Date - максимальная дата, сгруппированная по продуктам.
Это то, что я получил так далеко:
SELECT Product,
sum(users),
max([Date]),
[Document],[Extraction] FROM Table
PIVOT
( sum([Count]) FOR [Type] IN ( Document , Extraction)) AS [QUANTITY]
GROUP BY activity, document, extraction
но мои окончательные результаты дают мне что-то вроде этого:
Product #users Date Document Extraction
prodA 31 2013-03-02 NULL 152
prodA 29 2013-02-27 113 NULL
prodB 28 2013-03-02 NULL 73
prodB 17 2013-02-26 40 NULL
Это не группировка по продукту!
Есть идеи?
РЕДАКТИРОВАТЬ:
Пока у меня есть
WITH Pivoted
AS
(
SELECT *
FROM table1
PIVOT
(
sum([Count]) FOR [Type] IN ( Document ,
Extraction)
) AS p
)
SELECT
product,
SUM(Users) AS TotalUsers,
MAX(DAte) AS LatestDate,
MAX(Document) AS Document,
MAX(Extraction) AS Extraction
FROM Pivoted
GROUP BY Product;
но моя таблица выше на самом деле состоит из кодов ниже:
WITH a
AS(
SELECT activity,
username,
[Last Accessed] = max(DATEADD(dd, DATEDIFF(d, 0, ActDateTime), 0)), --[#Users] = count(distinct username),
CASE WHEN COUNT(activity)IS NOT NULL THEN 1 ELSE 0 END AS Count,
CASE WHEN pageURL LIKE '/Document%'
OR pageURL LIKE '/Database%' THEN 'Document' ELSE 'Extraction' END AS [Type] --into #temp
from activitylog
where pageURL not like '%home%' AND pageURL not like '/Default%'
--AND ActDateTime >= @StartDate AND ActDateTime