[英]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.