Мне интересно, возможно ли сохранить имена таблиц во вложенном запросе, чтобы избежать ошибки Duplicate column name
.
В качестве минимального примера у меня есть следующие таблицы:
- ЗАКАЗЧИКИ: ИД, ИМЯ, CITY_ID
- ГОРОДА: ИД, ИМЯ, ZIP
Следующий запрос завершается ошибкой Duplicate column name "NAME"
:
SELECT COUNT(*) FROM (
SELECT CUSTOMERS.NAME, CITY.NAME
FROM CUSTOMERS JOIN CITIES ON CUSTOMERS.CITY_ID = CITIES.ID
)
Очевидно, H2 обрезает имена таблиц во вложенном запросе, в результате чего появляются два столбца с именем NAME
(см. Ошибка COUNT с подзапросом в базе данных H2 с "Дублирующимся именем столбца" ).
AРешением было бы использовать псевдоним столбца во вложенном запросе, но я бы хотел избежать этого из-за других требований проекта (т. е. я хотел бы использовать идентификаторы столбцов, сгенерированные с помощью Jooq для построения запросов).
ДелатьВы знаете способ заставить H2 хранить имена таблиц во вложенном запросе?