首頁 > 資料庫 > mysql教程 > 如何正確匯總多個SQL表的資料並避免錯誤結果?

如何正確匯總多個SQL表的資料並避免錯誤結果?

Susan Sarandon
發布: 2024-12-30 14:50:14
原創
700 人瀏覽過

How to Correctly Summarize Data from Multiple SQL Tables and Avoid Incorrect Results?

用SQL 匯總多個表中的資料:解決不正確的結果

在資料分析領域,經常需要組合來自多個表格的資訊表格以獲得全面的了解。一項常見任務是計算這些表中按公共列分組的值的總和。但是,從提供的程式碼可以明顯看出,如果資料處理不當,可能會出現不正確的結果。

提供的初始查詢:

SELECT AP.[PROJECT],
SUM(AP.Value) AS SUM_AP,
SUM(INV.Value) AS SUM_INV
FROM AP INNER JOIN INV ON (AP.[PROJECT] =INV.[PROJECT])
WHERE AP.[PROJECT] = 'XXXXX'
GROUP BY AP.[PROJECT]
登入後複製

嘗試計算兩個值的總和表,特定PROJECTAPINV 。但是,問題在於 GROUP BY 子句的使用。按 AP.PROJECT 將結果分組會導致總和中包含重複值,進而導致總和不正確。

要修正此問題,需要使用子查詢的更強大方法:

SELECT
    AP1.[PROJECT],
    (SELECT SUM(AP2.Value) FROM AP AS AP2 WHERE AP2.PROJECT = AP1.PROJECT) AS SUM_AP,
    (SELECT SUM(INV2.Value) FROM INV AS INV2 WHERE INV2.PROJECT = AP1.PROJECT) AS SUM_INV
FROM AP AS AP1
    INNER JOIN INV AS INV1 ON (AP1.[PROJECT] =INV1.[PROJECT])
WHERE AP1.[PROJECT] = 'XXXXX'
GROUP BY AP1.[PROJECT]
登入後複製

此增強查詢使用子查詢來計算每個值的總和單獨項目 。透過隔離子查詢內的計算,我們消除了總和中包含重複值的問題。結果是來自多個表的資料的準確且有意義的摘要,並按所需列進行分組。

以上是如何正確匯總多個SQL表的資料並避免錯誤結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板