android.database.sqlite.SQLiteException: возле "UNION": синтаксическая ошибка - PullRequest
0 голосов
/ 04 января 2019

Я использую базу данных SQLite для Android

SQLite-запрос

SELECT t1.id,t1.name, t1.email FROM ((SELECT id,first_name as 
name,email FROM single_general where unique_code='UD') 
UNION ALL (SELECT name,email FROM school where 
unique_code='UD') ) t1

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Синтаксис SELECT не допускает скобки для составных запросов. Удалите их, чтобы остались только скобки вокруг подзапроса:

SELECT id, name, email
FROM (SELECT id, first_name AS name, email
      FROM single_general
      WHERE unique_code = 'UD'
      UNION ALL
      SELECT 0, name, email
      FROM school
      WHERE unique_code = 'UD');
0 голосов
/ 04 января 2019

Количество столбцов во всех запросах в объединении должно быть одинаковым. В запросе таблицы 'school' нет идентификатора. Можете ли вы получить поле идентификатора из «школы»? Попробуйте следующий код создает поле заполнено 0 для идентификатора во втором запросе:

SELECT t1.id,t1.name, t1.email FROM ((SELECT id,first_name as 
name,email FROM single_general where unique_code='UD') 
UNION ALL (SELECT 0 as id,name,email FROM `school` where 
unique_code='UD') ) t1
...