Всем привет!
Возникла проблема с использованием запросов в TFDQuery.
Когда имя таблицы содержит два символа '$', то TFDQuery не отображает список параметров в запросе. Вот пример (таблица vdata."wares$rules$link"). Если использовать макросы по подмене текста, то работает. Но не хочется такие элементарные вещи оборачивать через макросы.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | with tjWLL as (select
wrl . fldidxwarerule as fldidxwarerule,
json_agg(wll.*) as "WARESRULESLINKS"
from
vdata."wares $rules " wrl
inner join vdata."wares $rules $link " wll on (wrl . fldidxwarerule = wll . fldidxwarerule)
where
(wll . fldidxwarerule = any(:fldidxwarerule) or ( case when :fldidxwarerule = '{}' then True else False end ))
and :IsWLL
group by
wrl . fldidxwarerule
),
tjWRL as (select
wrl.*,
wll."WARESRULESLINKS"
from
vdata."wares $rules " wrl
left join tjWLL wll on (wrl . fldidxwarerule = wll . fldidxwarerule)
where
wrl . fldidxwarerule = any(:fldidxwarerule)
or case when :fldidxwarerule = '{}' then True else False end
)
select
json_build_object( 'WARESRULES' , to_json(tjWRL)) as "WARESRULES"
from
tjWRL
|
P.S. Переименовывать таблицы - уже поздно, живой проект.