Использование Order by с созданием представления или вставкой в Interbase
У меня проблемы с сортировкой данных в базе данных, моя временная метка находится в отдельных столбцах года, месяца, даты и т. Д., Поэтому мне нужно сделать заказ в таком порядке (хотя в этом случае он не будет работать даже для заказа по одному полю), По какой-то причине команда ORDER выдает ошибку "неизвестный токен" при использовании в сочетании с CREATE VIEW или INSERT INTO. Я делаю глупую синтаксическую ошибку здесь, или есть более фундаментальная проблема с тем, как я пытаюсь использовать команду ORDER?
CREATE VIEW HOURLY_AVES_SORT (MEASYEAR,MEASMONTH,MEASDAY,MEASHOUR,GH,GK,GDH,TA) as
SELECT
HOURLY_AVES_ALL.MEASYEAR, HOURLY_AVES_ALL.MEASMONTH, HOURLY_AVES_ALL.MEASDAY,
HOURLY_AVES_ALL.MEASHOUR, /*HOURLY_AVES.MEASMIN, HOURLY_AVES_ALL.MEASSECOND, */
HOURLY_AVES_ALL.GH, HOURLY_AVES_ALL.GK, HOURLY_AVES_ALL.GDH, HOURLY_AVES_ALL.TA
FROM HOURLY_AVES
ORDER BY
HOURLY_AVES_ALL.MEASYEAR, HOURLY_AVES_ALL.MEASMONTH, HOURLY_AVES_ALL.MEASDAY,
HOURLY_AVES_ALL.MEASHOUR
пытаясь скопировать данные в другую таблицу, а не в представление, выдает ту же самую маркерную неизвестную ошибку, т.е.
INSERT INTO HOURLY_AVES_SORTED
(MEASYEAR,MEASMONTH,MEASDAY,MEASHOUR,GH,GK,GDH,TA)
SELECT
HOURLY_AVES_ALL.MEASYEAR, HOURLY_AVES_ALL.MEASMONTH, HOURLY_AVES_ALL.MEASDAY,
HOURLY_AVES_ALL.MEASHOUR, /*HOURLY_AVES.MEASMIN, HOURLY_AVES_ALL.MEASSECOND, */
HOURLY_AVES_ALL.GH, HOURLY_AVES_ALL.GK, HOURLY_AVES_ALL.GDH, HOURLY_AVES_ALL.TA
FROM HOURLY_AVES
ORDER BY
(MEASYEAR, MEASMONTH, MEASDAY,MEASHOUR, GH, GK,GH, TA)
любые советы очень приветствуются, Брайан
2 ответа
Interbase не поддерживает ORDER BY
пункт в SELECT
утверждение мнения. См. Документацию, стр. 8-4 в Руководстве по определению данных (вы найдете страницу при выборе из закладок "Работа с представлениями" -> "Создание представлений" -> "Использование оператора SELECT").
Попробуйте использовать номера столбцов:
CREATE VIEW HOURLY_AVES_SORT (MEASYEAR,MEASMONTH,MEASDAY,MEASHOUR,GH,GK,GDH,TA) as
SELECT
h.MEASYEAR, h.MEASMONTH, h.MEASDAY, h.MEASHOUR,
h.GH, h.GK, h.GDH, h.TA
FROM
HOURLY_AVES h
ORDER BY
1, 2, 3, 4