Counterparty | Bar | Buzz | Total | Col1 | Col2 | Col3 | Col4 |
---|---|---|---|---|---|---|---|
fizz | 20.00 | 20.00 | 40.00 | 39.00 | 1.00 | 0 | 40.00 |
foo | 40.00 | .00 | 40.00 | 39.00 | 1.00 | 0 | 40.00 |
Total | 60.00 | 20.00 | 80.00 | 78.00 | 2.00 | 0 | 80.00 |
Counterparty | bar | buzz | Total | Col1 | Col2 | Col3 | Col4 |
---|---|---|---|---|---|---|---|
fizz | 20.00 | 20.00 | 40.00 | 39.00 | 1.00 | 0 | 40.00 |
foo | 40.00 | .00 | 40.00 | 39.00 | 1.00 | 0 | 40.00 |
Total | 60.00 | 20.00 | 80.00 | 78.00 | 2.00 | 0 | 80.00 |
(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)