Моя финансовая программа работает с несколькими компаниями. В базе данных именам таблиц предшествуют префиксы компании: 1_, 2_ и так далее. Я запросил быстрый отчет об итогах за указанный год и по указанной компании. Это работает для указанного c года:
set @jaar := 2019;
set @company := 2;
set @begindatum := CONCAT(" ",@jaar -1,'-12-31');
set @einddatum := CONCAT(" ",@jaar +1,'-01-01');
(select format(sum(2_gl_trans.amount),2,'de_DE') AS Bedrag,
concat('G',2_gl_trans.account) AS GbkNr,
2_chart_master.account_name AS Grootboekrekening
from (2_gl_trans
left join 2_chart_master on((2_gl_trans.account = 2_chart_master.account_code)))
where ((2_gl_trans.account < '4000') and (2_gl_trans.tran_date < @einddatum))
group by concat('G',2_gl_trans.account))
Но когда я кодирую для замены префиксов в именах таблиц / столбцов параметром компании (в данном случае компания 2), я получаю ошибки.
У кого-нибудь есть идея улучшить код?