Untitled*
You must execute the code again to save those values in the database.
CounterpartyBarBuzzTotalCol1Col2Col3Col4
fizz20.0020.0040.0039.001.00040.00
foo40.00.0040.0039.001.00040.00
Total60.0020.0080.0078.002.00080.00

CounterpartybarbuzzTotalCol1Col2Col3Col4
fizz20.0020.0040.0039.001.00040.00
foo40.00.0040.0039.001.00040.00
Total60.0020.0080.0078.002.00080.00

(8 rows affected)

(8 rows affected)

(3 rows affected)

SUM(CASE WHEN Src = 1 AND Product = 'bar' THEN Value ELSE 0 END) AS [bar],
SUM(CASE WHEN Src = 1 AND Product = 'buzz' THEN Value ELSE 0 END) AS [buzz],

SUM(CASE WHEN Src = 1 AND Product = 'bar' THEN Value ELSE 0 END) AS [bar],
SUM(CASE WHEN Src = 1 AND Product = 'buzz' THEN Value ELSE 0 END) AS [buzz],


SELECT
CASE WHEN GROUPING(Counterparty) = 0 THEN Counterparty ELSE 'Total' END AS Counterparty,
SUM(CASE WHEN Src = 1 AND Product = 'bar' THEN Value ELSE 0 END) AS [bar],
SUM(CASE WHEN Src = 1 AND Product = 'buzz' THEN Value ELSE 0 END) AS [buzz],
SUM(CASE WHEN Src = 1 THEN Value ELSE 0 END) AS Total,
SUM(CASE WHEN Src = 2 THEN Value ELSE 0 END) AS Col1,
SUM(CASE WHEN Src = 1 THEN Value ELSE 0 END) - SUM(CASE WHEN Src = 2 THEN Value ELSE 0 END) AS Col2,
0 AS Col3,
SUM(CASE WHEN Src = 1 THEN Value ELSE 0 END) - 0 AS Col4
FROM (
SELECT *, Src = 1 FROM Table1
UNION ALL
SELECT *, Src = 2 FROM Table2
) U
GROUP BY Counterparty WITH ROLLUP
ORDER BY GROUPING(Counterparty), Counterparty;


(3 rows affected)