|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
Здравствуйте, понадобилось использовать данные из базы на PostgreSQL, но столкнулся со странной проблемой, когда запрос содержит подзапрос, например: ВЫБРАТЬ * ИЗ (ВЫБРАТЬ ПЕРВЫЕ 100 Файлы.Номер КАК a1, Файлы.Дата КАК a2 ИЗ ВнешнийИсточникДанных.ExtDB.Таблица.Файлы КАК Файлы) КАК ФайлыПодзапрос получаю ошибку: Ошибка ODBC. SQLSTATE: 42703 Номер ошибки: 7 Описание: ERROR: column t1.Q_001_F_000_ does not exist; Error while executing the query в логе постгресса вылавливаю текст запроса: 2014-06-19 13:42:52 MSK ERROR: column t1.Q_001_F_000_ does not exist at character 8 2014-06-19 13:42:52 MSK STATEMENT: SEL ECT T1."Q_001_F_000_", T1."Q_001_F_001_" FR OM (SELECT T2.number AS Q_001_F_000_, T2.date AS Q_001_F_001_ FR OM "extdb"."public"."files_view" T2 LIM IT 100) T1 Очевидно, запрос сформирован криво, так как алиасы Q_001_F_000_ и Q_001_F_001_ тоже должны быть написаны в кавычках, ведь постгрес приводит регистронезависимые идентификаторы к нижнему регистру. Платформа 8.2.19.83 В параметрах СУБД указано: Параметры.СУБД = "PostgreSQL"; т.е. дело точно не в том что 1ска не знает что работает с постгрессом (тогда бы не работала и директива ПЕРВЫЕ) Как это понимать? Ведь 1С заявляет о полной поддержки постгресса для внешних источников. Более того, она же как-то работает на ней сама даже и наверняка подзапросы работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 14:47 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
>Ведь 1С заявляет о полной поддержки постгресса для внешних источников. на заборе тоже пишут. там постоянно по постргри какие-то баги правят ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 15:06 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
Последний выдох ГПЖ, ну ведь как-то же работают подзапросы когда вся база хранится в пг. Наверняка ведь должен использоваться один и тот же транслятор для SQL. Почему-то мне кажется что если бы это был стандартный повсеместный косяк, форумы были бы забиты нытьем по этому поводу. Вдруг это как-то решается конфигурацией пг, например... PostgreSQL 9.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 15:38 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
alprkПоследний выдох ГПЖ, ну ведь как-то же работают подзапросы когда вся база хранится в пг. Наверняка ведь должен использоваться один и тот же транслятор для SQL. Почему-то мне кажется что если бы это был стандартный повсеместный косяк, форумы были бы забиты нытьем по этому поводу. Вдруг это как-то решается конфигурацией пг, например... PostgreSQL 9.3 Попробуйте во внешнем источнике данных поля с нижним подчеркиванием указать в одинарных кавычках, например 'Q_001_F_000_' должно сработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 16:29 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
DmitriyZ, не совсем понял что вы предлагаете, извините. Дело в том что у меня же эти два идентификатора нигде не фигурируют, их назначает сама 1ска для полей подзапроса, я на них никак повлиять не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 17:40 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
Имя поля в источнике данных укажите в апострофах ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2014, 07:40 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
DmitriyZ, Q_001_F_000_ и Q_001_F_001_ это не имена полей в источнике и они у меня не прописаны нигде. Это алиасы которые транслятор запросов 1С дал колонкам подзапроса сам. Мне их негде заключать в кавычки. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2014, 10:55 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
alprkDmitriyZ, Q_001_F_000_ и Q_001_F_001_ это не имена полей в источнике и они у меня не прописаны нигде. Это алиасы которые транслятор запросов 1С дал колонкам подзапроса сам. Мне их негде заключать в кавычки. Приведите полный текст ВАШЕГО запроса в 1С ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2014, 11:58 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
DmitriyZ, в первом сообщении: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2014, 13:06 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
alprk, а если переписать на временные таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2014, 14:14 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
DmitriyZ, к сожалению, не поддерживается использование временных таблиц в запросе к внешнему источнику данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2014, 14:45 |
|
Подзапрос в запросе к внешнему источнику данных PostgreSQL
|
|||
---|---|---|---|
#18+
alprkDmitriyZ, к сожалению, не поддерживается использование временных таблиц в запросе к внешнему источнику данных. Ну, сделать как обычно: простым запросом выбираем данные из внешнего источника, выгружаем в таблицу значений (обязательно типизировать колонки!) и далее в следующем запросе подсовывваем уже эту ТЗ. Да, не очень удобно, но работатет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 08:11 |
|
|
start [/forum/topic.php?fid=28&msg=38675444&tid=1519371]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 492ms |
0 / 0 |