Я пытаюсь выполнить запрос с помощью функции ROLLUP.
Предположим, что мой запрос:
SELECT GEN.orgId,GEN.locId,GEN.rvcId
GEN.rvcName,GEN.menuItemID,GEN.menuItemName , SUM(salesTotal) as
salesTotal FROM GEN GROUP BY GEN.orgId,GEN.locId,
GEN.rvcName,GEN.menuItemID,GEN.menuItemName ORDER BY GEN.menuItemName
Этот запрос выводит следующее:
orgId locId rvcName menuItemID menuItemName salesTotal 10200 10002 Sydney Retail 10870 Cho Milk Shake 7.500000 10200 10002 Sydney Wholesale 10870 Cho Milk Shake 7.500000 10200 10002 Sydney Retail 10850 Berry Milk Shake 10.920000 10200 10002 Sydney Wholesale 10850 Berry Milk Shake 10.920000 10200 10002 Sydney Retail 10898 Apple Custard 5.460000 10200 10002 Sydney Wholesale 10898 Apple Custard 5.460000
Когда я применяю GROUPING и ROLLUP к моему запросу:
SELECT GEN.orgId,GEN.locId, GEN.menuItemID, GEN.menuItemName,
CASE WHEN GROUPING( GEN.rvcName) = 1
THEN 'Grand Total'
ELSE GEN.rvcName END as rvcName
,SUM(salesTotal) as salesTotal
GROUP BY GEN.orgId,GEN.locId, GEN.rvcId, GEN.rvcName, GEN.menuItemID, GEN.menuItemName WITH ROLLUP
ORDER BY GEN.menuItemID asc
Этот запрос выводит (только для Berry Milk Shake):
orgId locId menuItemID menuItemName rvcName salesTotal
10200 10002 NULL NULL Sydney Retail 10.920000
10200 10002 NULL NULL Grand Total 10.920000
10200 10002 NULL NULL Sydney Wholesale 10.920000
10200 10002 NULL NULL Grand Total 10.920000
10200 10002 NULL NULL Grand Total 21.840000
10200 NULL NULL NULL Grand Total 21.840000
NULL NULL NULL NULL Grand Total 21.840000
10200 10002 10850 Berry Milk Shake Sydney Wholesale 10.920000
10200 10002 10850 NULL Sydney Wholesale 10.920000
10200 10002 10850 Berry Milk Shake Sydney Retail 10.920000
10200 10002 10850 NULL Sydney Retail 10.920000
Мой вопрос: у меня так много ненужных данных, созданных с помощью этого запроса. Как я могу уточнить запрос и создать что-то вроде ниже. Заранее спасибо.
Я хочу добиться следующего:
orgId locId rvcName menuItemID menuItemName salesTotal 10200 10002 Sydney Retail 10870 Cho Milk Shake 7.500000 10200 10002 Sydney Wholesale 10870 Cho Milk Shake 7.500000 10200 10002 ALL 10870 Cho Milk Shake 15.000000 10200 10002 Sydney Retail 10850 Berry Milk Shake 10.920000 10200 10002 Sydney Wholesale 10850 Berry Milk Shake 10.920000 10200 10002 ALL 10850 Berry Milk Shake 21.840000 10200 10002 Sydney Retail 10898 Apple Custard 5.460000 10200 10002 Sydney Wholesale 10898 Apple Custard 5.460000 10200 10002 ALL 10898 Apple Custard 10.920000