Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Falsche Summe, wenn ich mich einem zweiten Tisch anschließe

Eine Möglichkeit, dies zu vermeiden (vorbehaltlich der RDBMS-Unterstützung), wäre

WITH R
     AS (SELECT *,
                Sum(HeadCount) OVER (PARTITION BY date) AS SumHeadCount
         FROM   Report)
SELECT R.date,
       SumHeadCount,
       Sum(P.Quantity) AS SumQuantity
FROM   R
       JOIN Production P
         ON R.ReportID = P.ReportID
GROUP  BY R.date, SumHeadCount
ORDER  BY R.date