Ошибка производной таблицы: «Не удалось связать идентификатор из нескольких частей» - PullRequest
0 голосов
/ 30 мая 2018

У меня проблемы с получением результатов, которые я хотел бы получить из созданного мной запроса.Общая цель, которую я пытаюсь достичь, - получить первые показания одометра за месяц и последние показания одометра за месяц для конкретного автомобиля.Затем я хотел бы вычесть два, чтобы получить общее количество миль за этот месяц.Я подумал, что производная таблица с оконными функциями лучше всего поможет в достижении этой цели (см. Пример SQL ниже).

SELECT 
    VEHICLE_ID2_FW
FROM 
    (SELECT 
         VEHICLE_ID2_FW,
         LOCATION_CODE_FW, 
         MIN(ODOMETER_FW) OVER(PARTITION BY YEAR(DATE_FW), MONTH(DATE_FW)) AS MIN_ODO,
         MAX(ODOMETER_FW) OVER(PARTITION BY YEAR(DATE_FW), MONTH(DATE_FW)) AS MAX_ODO
     FROM 
         GPS_TRIPS_FW) AS G

Я продолжаю сталкиваться с проблемой, когда запрос производной таблицы сам по себе выполняется и работает.Однако, когда я заключаю его в скобки в предложении FROM, он возвращает ошибку

Не удалось связать идентификатор, состоящий из нескольких частей

Надеясь, что я смогу получить некоторую помощьвыяснить это и, возможно, найти общий лучший способ для достижения моей цели.Спасибо!

1 Ответ

0 голосов
/ 30 мая 2018

Одометры только увеличиваются (хорошо, что должно быть правдой).Так что просто используйте агрегацию:

select VEHICLE_ID2_FW, year(date_fw), month(date_fw), 
       min(ODOMETER_FW), max(ODOMETER_FW),
       max(ODOMETER_FW) - min(ODOMETER_FW) as miles_driven_in_month
from GPS_TRIPS_FW
group by VEHICLE_ID2_FW, year(date_fw), month(date_fw);

Это ответ на вопрос, который вы задали .Однако я не думаю, что это решит вашу проблему, потому что общее количество пройденных миль в месяц не составит общих пройденных миль.Проблема заключается в пробеге миль между последней записью в конце месяца и первой записью в начале следующего месяца.

Если это проблема, задайте другой вопрос.Предоставьте образцы данных, желаемые результаты и соответствующий тег базы данных.

...