для группировки данных, но почему то получаю разные суммы  в отличии от того если их запрашивать отдельно. Помогите понять почему так происходит и как получить ожидаемый результат?
                  
                  
                  SELECT DISTINCT 
                  
                  
                  df.tnved, 
                  
                  
                  df.tnved_name, 
                  
                  
                  round(sum(df.stoim)::numeric, 2) AS "Стоимость 2020",
                  
                  
                  round(sum(df.netto)::numeric, 2) AS "Вес 2020",
                  
                  
                  round(sum(sd.stoim)::numeric, 2) AS "Стоимость 2021",
                  
                  
                  round(sum(sd.netto)::numeric, 2) AS "Вес 2021"
                  
                  
                  FROM data_fts_nationalproject as df
                  
                  
                  FULL OUTER JOIN  data_fts_nationalproject AS sd
                  
                  
                  ON df.tnved = sd.tnved
                  
                  
                  WHERE df.period_date = '2020-01-01' 
                  
                  
                  AND sd.period_date = '2021-01-01' 
                  
                  
                  AND df.napr = 'ЭК' 
                  
                  
                  AND sd.napr = 'ЭК'
                  
                  
                  AND df.NAME3_SUBRF ='г. Москва'
                  
                  
                  AND sd.NAME3_SUBRF ='г. Москва'
                  
                  
                  GROUP BY df.tnved, df.tnved_name ORDER BY "Стоимость 2020" DESC 
                  
                  
                  ;
                  
                  
                
а зачем джойнить? нельзя например сгруппировать еще и по period_date?
джойню потому что разные временные даты
в смысле, даты разные, а записи группируются для сравнения в два периода
Обсуждают сегодня