Разработчик приложения попросил меня изменить запрос и заказать тур DESC по годам на основе столбца create_date, поскольку дата создания имеет формат DateTime. Я попытался создать представление для преобразования даты в столбец, в котором отображается ГОД ГОДА.тур и это выглядит так:
VIEW:
CREATE VIEW vw.v_tour_year AS
SELECT to_char(created_date,'YYYY') "tour_year", tour_id, tour_name
FROM vw.tour
Вот запрос, который необходимо обновить из тела пакета:
SELECT tu.*
FROM (
SELECT t.tour_id, t.tour_name
FROM vw.tour t
WHERE NOT EXISTS (
SELECT 'x'
FROM vw.tour_locale l
WHERE l.culture_id = 1
AND l.tour_name IS NOT NULL
AND t.tour_id = l.tour_id
)
UNION
SELECT l.tour_id, l.tour_name
FROM vw.tour_locale l
WHERE l.culture_id = 1
AND l.tour_name IS NOT NULL
) tu, vw.v_tour_year vt
WHERE tu.tour_id = vt.tour_id
ORDER BY vt.tour_year desc, tu.tour_name asc;
Однако Oracle жалуетсяэтот vt.tour_year является недействительным идентификатором, который, я думаю, Oracle не позволяет мне.Это возможно?или я могу только заказать его по созданному_дате?