Дело происходит в LibreOfficeBase (HSQLDB), так как эта зараза не умеет в умную группировку с сабсуммами в отчетах, приходится делать SQL-view с этой самой группировкой.
Вот я написал блок группы:
SELECT 'Категория' as "col1",
' ' as "col2",
"Категории"."name" as "col3"
FROM "Категории"
WHERE "Категории"."key" = 2
UNION ALL
SELECT "Расходы"."date" as "col1",
"Расходы"."sum" as "col2",
"Расходы"."name" as "col3"
FROM "Расходы"
WHERE DATEDIFF( 'day', "Расходы"."date", CURRENT_DATE ) < 30
AND "Расходы"."category" = 2
UNION ALL
SELECT ' ' as "col1",
sum("Расходы"."sum") as "col2",
'Сумма' as "col3"
FROM "Расходы"
WHERE DATEDIFF( 'day', "Расходы"."date", CURRENT_DATE ) < 30
AND "Расходы"."category" = 2
GROUP BY
"Расходы"."category"
UNION ALL
SELECT ' ' as "col1",
' ' as "col2",
' ' as "col3"
FROM "DUAL"
Теперь мне надо повторить этот блок для каждой строки таблицы «Категории» (поля key и name), заменяя 2 на «Расходы».«key».
Я пробовал сделать `select * from ( ... = B2.key ) as B1, Расходы as B2`, но ругаемси на то что B2.key не существует.