Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Somme incorrecte lorsque je rejoins une deuxième table

Une façon d'éviter cela (sous réserve de la prise en charge du RDBMS) serait

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