Количество столбцов во всех запросах в объединении должно быть одинаковым. В запросе таблицы '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