我有一个来自商店系统软件的代码,并想知道如何添加总行数。我是一名正在进入数据分析的总noob前会计师。我已经学了很多教程并继续学习,但仍然是初学者。据说它是商店系统软件数据库基于SQL 2012.这是我的代码,工作正常,只需要最后一列的总行:
Select ESTIM.DESCRIP
, ESTIM.PARTNO
, ESTIM.PRODCODE
, ESTIM.QTYONHAND
, ESTIM.QTYONORDER
, ESTIM.REORDLEVEL
, ESTIM.STOCKINGCOST
, ESTIM.QTYONHAND * ESTIM.STOCKINGCOST As "Total Item Value in Stock"
From ESTIM
Where ((ESTIM.PRODCODE Like [ENTER PRODUCT CODE:]))
Order By ESTIM.PARTNO;
答案 0 :(得分:0)
有几种方法可以完全解决这个问题。
您可以使用UNION查询来获取仅包含总数的新行,并将所有其他字段设为NULL:
SELECT 'TOTAL', NULL, NULL, NULL, NULL, NULL, NULL, SUM(ESTIM.QTYONHAND * ESTIM.STOCKINGCOST) FROM ESTIM WHERE ((ESTIM.PRODCODE Like [ENTER PRODUCT CODE:]));
您可以使用包含总数的窗口函数添加新字段(将为每行重复)
Select ESTIM.DESCRIP
, ESTIM.PARTNO
, ESTIM.PRODCODE
, ESTIM.QTYONHAND
, ESTIM.QTYONORDER
, ESTIM.REORDLEVEL
, ESTIM.STOCKINGCOST
, ESTIM.QTYONHAND * ESTIM.STOCKINGCOST As "Total Item Value in Stock"
SUM(ESTIM.QTYONHAND * ESTIM.STOCKINGCOST) OVER (PARTITION BY 1) as "Total of Total Item Value"
From ESTIM
Where ((ESTIM.PRODCODE Like [ENTER PRODUCT CODE:]))
Order By ESTIM.PARTNO;
你也可能......可能......用GROUP BY <fields> WITH ROLLUP
变得狡猾,但我认为这会为你想要的输出添加更多记录。