2016-10-13 2 views
0

У меня есть этот код, который у меня есть из системного программного обеспечения магазина и интересно, как я могу добавить общую строку. Я являюсь полным бухгалтером нооба, который переходит к анализу данных. Я взял много уроков и продолжаю учиться, но все же новичок. Предположительно, это система магазин программного обеспечения Databse основана на 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

Рассчитайте его в другом аналогичном запросе и 'UNION' на оригинал, но помните, что порядок сортировки является случайным, поэтому вам нужно будет добавить поле, равное 0 для всех записей, и 1 для общего количества, и упорядочить это , Но в целом такой вид презентации лучше оставить для генераторов отчетов, таких как SSRS или Crystal и т. Д. – ajeh

ответ

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, но я думаю, что бы добавить больше записей на выход, то вы ищете.

Смежные вопросы