Sql-Server

如何檢索訂單行的小計(sql 2000 中不存在匯總)

  • July 29, 2017

目前在水晶報告中,我將每個訂單分組在一起,其中使用者顯示訂單組中的訂單行。我已經為所有訂單行價格的小計創建了一個執行總計欄位。但是我不想為最終使用者設置參數來選擇價格是>還是<而不是特定金額。我認為最好的解決方案是計算儲存過程中的小計並將其傳遞給報表以建構參數。但看起來 SQL Server 2000ROLLUP在以後的版本中不包含該功能。

弄清楚了:

select TS.Order_no, part_no, cost_per_line, 
      case when Order_no = (select top 1 Order_no from #tempsales 
                          where cust_po = TS.cust_po
                         order by Order_no asc)
           then (select sum(cost_per_line)
                    from #tempsales
                    where Order_no &lt;= TS.Order_no
                       and cust_po = TS.cust_po)
           else '0' end as 'Sub Total',
      case when Order_no = (select top 1 Order_no from #tempsales 
                          where cust_po = TS.cust_po
                         order by Order_no asc)
           then (select CAST(ROUND(SUM(cost_per_line), 2, 1) AS DECIMAL(18, 2))
                     from #tempsales) 
            else '0' end as 'Grand Total'
from #tempsales TS

引用自:https://dba.stackexchange.com/questions/181882