Я пытаюсь добавить общую строку к сгруппированному запросу. Запрос у меня есть, как показано ниже:Добавить общую строку в Grouped Query
SELECT T3.[SlpName], T1.[CardCode], T1.[CardName], T1.[ShipToCode], T2.[ItemCode], T2.[Dscription],
SUM(T2.[Quantity]) AS 'Total Quantity',
MAX(T2.[Price]) AS 'Line Price',
SUM(T2.[LineTotal]) AS 'Line Total',
SUM(T2.[GrssProfit]) AS 'Gross Profit'
FROM OCRD T0 INNER JOIN OINV T1 ON T0.[CardCode] = T1.[CardCode] INNER JOIN INV1 T2 ON T1.[DocEntry] = T2.[DocEntry] INNER JOIN OSLP T3 ON T0.[SlpCode] = T3.[SlpCode]
WHERE T3.[SlpName] = 'Name' AND T1.[createdate] >= DATEADD(day,-7, GETDATE())
GROUP BY T3.[SlpName], T1.[CardCode], T1.[CardName], T1.[ShipToCode], T2.[ItemCode], T2.[Dscription].
То, что я хочу, это общая строка для SUM линии - так в действительности сумма суммы.
Я попытался добавить общее значение с помощью предложения Union, но это дает мне сообщение об ошибке. Когда я использую функцию ROLLUP, она суммирует каждую строку, а не только строку, для которой требуется сводка. Может ли кто-нибудь помочь?
Большое спасибо.
насчет 'SUM + SUM (T2 [LineTotal].) + SUM (T2 [GrssProfit].)' (T2 [Количество].)? –
Какая ошибка вы получаете из запроса UNION и какой код вы пытались? –
Я бы обернул это как подвыбор и сделаю КРОССУЮ ПРИЛОЖЕНИЕ в конце. ВНИМАНИЕ: нет никакой гарантии, что ваши ряды появятся в ожидаемом порядке. – Shnugo