Добрый день. Есть БД (FB 2.5), в которой все текстовые поля Win1251.
Для локализации информации была добавлена таблица
CREATE TABLE PROPS_TXT (
PTX_ID BIGINT NOT NULL,
PTX_ID_OBJ BIGINT NOT NULL,
PTX_ID_LANG BIGINT NOT NULL,
PTX_PROP VARCHAR(48) NOT NULL,
PTX_VALUE VARCHAR(8192) CHARACTER SET UNICODE_FSS
);
в которой хранятся переведенные на разные языки свойства объекта с ИДом PTX_ID_OBJ.
Запрос одновременно нескольких свойств объекта из этой таблицы (более 2-х)
select obj.obj_id, ptx1.ptx_value as tv_descr, ptx2.ptx_value as tv_name, ptx3.ptx_value as tv_type
from objects obj
left join props_txt ptx1 on ptx1.ptx_id_obj = obj.obj_id and ptx1.ptx_id_lang = 27004 and ptx1.ptx_prop = 'TV_DESCR'
left join props_txt ptx2 on ptx2.ptx_id_obj = obj.obj_id and ptx2.ptx_id_lang = 27004 and ptx2.ptx_prop = 'TV_NAME'
left join props_txt ptx3 on ptx3.ptx_id_obj = obj.obj_id and ptx3.ptx_id_lang = 27004 and ptx3.ptx_prop = 'TV_TYPE'
where obj.obj_id = -214307787
приводит к ошибке
Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Implementation limit exceeded.
block size exceeds implementation restriction.
Какие могут быть решения этой проблемы? Спасибо.
WIN1251 и UTF8 (...)
-
- Сообщения: 4
- Зарегистрирован: 04 фев 2011, 11:00
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: WIN1251 и UTF8 (...)
Не надо ТАK работать с EAV. Вытягивай пачки атрибутов на клиента или среднее звено, а уже там и раскладывай по свойствам/ячейкам.