Хотел сказать, что связь между таблицами строится в ходе проектирования путем задания внешних ключей (вы разносите данные по таблицам), имена естественно не хранятся. Ну а раз у вас все сущности имеют одинаковое наполнение по сути , то и разносить не придется - делаете таблицу тип, и таблицу закладки , 1 - n. Зачем же плодить разные таблицы для одинаковых данных.
Локальная переменная иллюстративный характер носит, так то согласен ) Понятно что они заполнятся требуемыми значениями
Линейный, но сама проверка условия выглядит короче (визуально то бишь), насчет эффективности соглашаюсь
Надеюсь, срач не начнется
1. Поле Year вообще существует в таблице? А то по коду это и алиас, и поле-приемник...
2. Ошибку бы неплохо приводить и структуру таблиц
3. Можно на основе юниона нужно сделать промежуточный запрос и уже его скармливать инсерту