SQL 没有小计的总计

SQL Grand total without subtotals

我正在 Orderwise 中制作一份大型 SQL 报告,非常粗略地简化如下;

SELECT Supplier.SupplierName, POHeader.PODate, POHeader.PORef, POLine.LineID, SUM(Subquery.Val)
FROM Supplier INNER JOIN POHeader ON POheader.supplier = Supplier.SupplierID
    INNER JOIN POLine ON POLine.HeaderID = POHeader.PO_ID
    INNER JOIN Subquery on Subquery.POLine = POLine.Line_ID
GROUP BY Supplier.SupplierName, POHeader.PODate, POHeader.PORef, POLine.Line_ID

我想要底部的总计,没有整个报告中点缀的一堆小计 - 因此我认为我不能使用 ROLLUPSubquery 当然有一个子查询,在真实情况下会有十二个,而且都非常复杂,所以我想避免 UNION 只是为了尽可能加总所有内容.有没有其他方法可以在没有小计的情况下在报表底部放置总计行?

不完全确定 SQL 版本,但如果有帮助,google 告诉我 Microsoft SQL Server Express 或 SQL Server Standard 可以与 OrderWise

一起使用

使用GROUPING SETS:

SELECT Supplier.SupplierName, POHeader.PODate, POHeader.PORef, POLine.LineID, SUM(Subquery.Val)
FROM Supplier INNER JOIN
     POHeader
     ON POheader.supplier = Supplier.SupplierID JOIN
     POLine
     ON POLine.HeaderID = POHeader.PO_ID JOIN
     Subquery 
     ON Subquery.POLine = POLine.Line_ID
GROUP BY GROUPING SETS ( (Supplier.SupplierName, POHeader.PODate, POHeader.PORef, POLine.Line_ID), () )