[英]convert access group by query to sql server query
我無法將 MS Access 查詢轉換為 SQL SERVER 查詢,並按列更改組,因為它會影響最終結果。 此查詢的目的是計算項目帳戶的債權人和債務人。
我嘗試用“CTE”重寫但沒有得到任何好的結果..我希望有人能幫助我..提前致謝...
這是我要轉換的查詢:
SELECT Sum(ZABC.M) AS M, Sum(ZABC.D) AS D, ZABC.ACC_NUMBER, ZABC.PROJECT_NUMBER, [M]-[D] AS RM, [D]-
[M] AS RD
FROM ZABC
GROUP BY ZABC.ACC_NUMBER, ZABC.PROJECT_NUMBER
ORDER BY ZABC.PROJECT_NUMBER;
查詢的問題是select
子句中的[M]
和[D]
:這些列應該在group by
子句中重復,或者被聚合 function 包圍。您當前group by
子句為您提供一行(acc_number, project_number)
元組:你需要為D
和M
選擇你想要的計算,每組可能有幾個不同的值。
您沒有解釋原始查詢的目的。 也許你的意思是:
SELECT
Sum(ZABC.M) AS M,
Sum(ZABC.D) AS D,
ZABC.ACC_NUMBER,
ZABC.PROJECT_NUMBER,
Sum(ZABC.M) - SUM(ZABC.D) AS RM,
SUM(ZABC.D) - SUM(ZABC.M) AS RD
FROM ZABC
GROUP BY ZABC.ACC_NUMBER, ZABC.PROJECT_NUMBER
ORDER BY ZABC.PROJECT_NUMBER;
有大量聚合函數可供您選擇,例如MIN()
、 MAX()
、 AVG()
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.