для группировки данных, но почему то получаю разные суммы в отличии от того если их запрашивать отдельно. Помогите понять почему так происходит и как получить ожидаемый результат?
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?
джойню потому что разные временные даты
в смысле, даты разные, а записи группируются для сравнения в два периода
Обсуждают сегодня