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 Product = 'bar' THEN Value1 ELSE 0 END) AS [bar],
SUM(CASE WHEN Product = 'buzz' THEN Value1 ELSE 0 END) AS [buzz],
SUM(CASE WHEN Product = 'bar' THEN Value1 ELSE 0 END) AS [bar],
SUM(CASE WHEN Product = 'buzz' THEN Value1 ELSE 0 END) AS [buzz],
SELECT
CASE WHEN GROUPING(Counterparty) = 0 THEN Counterparty ELSE 'Total' END AS Counterparty,
SUM(CASE WHEN Product = 'bar' THEN Value1 ELSE 0 END) AS [bar],
SUM(CASE WHEN Product = 'buzz' THEN Value1 ELSE 0 END) AS [buzz],
SUM(Value1) AS Total,
SUM(Value2) AS Col1,
SUM(Value1 - Value2) AS Col2,
0 AS Col3,
SUM(Value1) - 0 AS Col4
FROM (
SELECT *, Value AS Value1, 0 * Value AS Value2 FROM Table1
UNION ALL
SELECT *, 0 * Value AS Value1, Value AS Value2 FROM Table2
) U
GROUP BY Counterparty WITH ROLLUP
ORDER BY GROUPING(Counterparty), Counterparty;
(3 rows affected)