Присоединиться к двум выбранным запросам - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь объединить два запроса.Вот мой запрос.

(select 'stack' as id from RDB$DATABASE) t
inner join 
(select 'stack' as id from RDB$DATABASE) q 
on t.id=q.id

Когда я выполняю этот запрос, выдается ошибка

Context: Statement::Prepare( (select 'stack' as id from RDB$DATABASE) t
inner join 
(select 'stack' as id from RDB$DATABASE) q 
on t.id=q.id )
Message: isc_dsql_prepare failed
SQL Message : -104
Invalid token
Engine Code    : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 1
(

Если я правильно понимаю ошибку, Firebird не нравится '(' в началезапрос.

Если так, как я могу объединить два запроса?

1 Ответ

0 голосов
/ 31 декабря 2018

Ошибка "Токен неизвестен - строка 1, столбец 1 (" возвращается, поскольку присутствие ( в этом расположении является неожиданным. Ваш текущий запрос имеет только два подзапроса, которые он пытается выполнитьприсоединиться, но в нем отсутствуют предложения select и * 1005. * Это делает его синтаксически недопустимым оператором. Полный синтаксис см. SELECT в справочнике по языку Firebird 2.5.

Aдопустимый запрос будет

select *
from (select 'stack' as id from RDB$DATABASE) t
inner join (select 'stack' as id from RDB$DATABASE) q 
  on t.id=q.id
...