簡體   English   中英

總和,加入,分組依據,訂購依據,分區,結束。 我想念什么?

[英]SUM, JOIN, GROUP BY, ORDER BY, PARTITION, OVER. What am I missing?

我需要一點幫助。 我知道有兩個表需要聯接,這不是問題。 我需要顯示的是發票號,發票日期和發票中購買的所有產品的總金額。 該信息需要按發票編號降序排列,然后按發票日期升序排列。 到目前為止,我拋出的錯誤是:

SELECT          LINE.INV_NUMBER, 
                INVOICE.INV_DATE, 
                SUM(LINE.LINE_PRICE) 
           FROM LINE 
FULL OUTER JOIN INVOICE ON LINE.INV_NUMBER=INVOICE.INV_NUMBER 
       GROUP BY LINE.INV_NUMBER 
       ORDER BY LINE.INV_NUMBER DESC, 
                INVOICE.INV_DATE ASC;

在我拔出所有頭發之前,我們將不勝感激。

更新:

我已將聲明更新為:

SELECT LINE.INV_NUMBER AS "Line Number", 
       INVOICE.INV_DATE AS "Invoice Date", 
       SUM(LINE.LINE_PRICE) AS "Total Sales" 
  FROM INVOICE FULL OUTER JOIN LINE ON INVOICE.INV_NUMBER=LINE.INV_NUMBER 
 GROUP BY LINE.INV_NUMBER, INVOICE.INV_DATE
 ORDER BY LINE.INV_NUMBER DESC, INVOICE.INV_DATE ASC;

我正在獲取數據而不是錯誤。 我現在遇到的問題是我需要讀取的數據是按降序排列的“發票編號”和按“升序排列”的“發票日期”,因此,我假設我需要兩個數據輸出。 我該怎么辦?

我相信只有在group by中使用的那些列才能在select子句中檢索。

可能是您需要包含INV_DATE,LINE_PRICE,然后在select子句中檢索其聚合。

請參閱java2s.com中的有用示例示例。

問候,斯里哈里

嘗試GROUP BY LINE.INV_NUMBER, INVOICE.INV_DATE

取決於您使用的DBMS,可能不是問題。

SELECT LINE.INV_NUMBER AS "Line Number", 
       INVOICE.INV_DATE AS "Invoice Date", 
       SUM(LINE.LINE_PRICE) AS "Total Sales" 
  FROM INVOICE FULL OUTER JOIN LINE ON INVOICE.INV_NUMBER=LINE.INV_NUMBER 
 GROUP BY LINE.INV_NUMBER, INVOICE.INV_DATE
 ORDER BY INVOICE.INV_DATE ASC, LINE.INV_NUMBER DESC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM