【发布时间】:2020-06-09 17:33:12
【问题描述】:
如何为每张发票创建一个新的总行以显示每张唯一发票的总和?我相信有一个使用分区的窗口函数。在下图中,每张发票应具有相同的“TAX AMT”和“FRGHT AMT”(如果有)(在这种情况下,它恰好是 0.00)。我正在尝试在每个“INVOICE”之后创建一个新行,将“TAX AMT”、“FRGHT AMT”和“EXT PRICE”相加,并将其放在“TOT MAT”中。
第二张图片显示了我正在尝试制作的内容。
SELECT ORDERNUM AS INVOICE
,PRODUCTLIST.ID AS ITEM
,PRODUCTLIST.DESC1 AS [DESC]
,INVDATE AS [INV DATE]
,format(USELL, 'N') AS PRICE
,QTYSOLD - QTYRETN AS QTY
,format(DOLSOLD - DOLRETN, 'N') AS [EXT PRICE]
,format(TAX_AMOUNT, 'N') AS [TAX AMT]
,format(FREIGHT, 'N') AS [FRGHT AMT]
,0.00 AS [HDL]
,0.00 AS [TOT MAT]
,PO_NUMBER AS [PO NBR]
FROM History
INNER JOIN PRODUCTLIST ON PARTNUM = UID
WHERE BILLTOID = '28736'
AND INVDATE >= '2/21/2020' --and ordernum = 'S2149853.001'
ORDER BY INVDATE
,ORDERNUM
【问题讨论】:
-
这些微小的图像很难阅读,也无法操作。您应该以文本形式提供所有这些信息。数据库标签以及相关表中的示例数据也会有所帮助。
-
供您参考,this 是一个完整构造的问题的样子。有关用于改进问题的提示和工具,这里有一篇很好的参考文章。 How to post a SQL question on a public forum
标签: sql database group-by window-functions