В ваших таблицах нет столбца ORIGIN
, то есть псевдонима, определенного вами в предложении SELECT
, и вы не можете использовать этот псевдоним в предложении GROUP BY
.
Либо повторите CASE
оператор:
SELECT SUM(amount) as AMOUNT,
Substr(con.DATES, 1,6 ) as DATES,
CASE
WHEN pro.cod_grup in ('54') and pro.cod_grup_2 in ('38')
THEN 'WORKSHOPS'
end as "ORIGIN"
FROM AMOUNTS_B con
inner join PRODUCTOS pro
on con.product = pro.cod_product
WHERE Substr(con.DATES, 1,6 ) >= '20180101'
group by FECHA,
CASE
WHEN pro.cod_grup in ('54') and pro.cod_grup_2 in ('38')
THEN 'WORKSHOPS'
end;
или использовать внешний запрос, который может использовать псевдоним:
SELECT SUM(amount) as AMOUNT,
DATES,
ORIGIN
FROM (
SELECT amount,
fecha,
Substr(con.DATES, 1,6 ) as DATES,
CASE
WHEN pro.cod_grup in ('54') and pro.cod_grup_2 in ('38')
THEN 'WORKSHOPS'
end as "ORIGIN"
WHERE Substr(con.DATES, 1, 6 ) >= '20180101'
FROM AMOUNTS_B con
inner join PRODUCTOS pro
on con.product = pro.cod_product
)
group by FECHA,
ORIGIN;
(Примечание: вам также может понадобиться DATES
в GROUP BY
пункт.)