簡體   English   中英

通過查詢將訪問組轉換為 sql 服務器查詢

[英]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)元組:你需要為DM選擇你想要的計算,每組可能有幾個不同的值。

您沒有解釋原始查詢的目的。 也許你的意思是:

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.

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