У меня есть таблица с данными автомобиля пробега, выбор этой таблицы выглядит следующим образом:проблемы с соединением двух таблиц правильно
Это дает за машину, за месяц существующего значения. Проблема, которую я сейчас испытываю, заключается в том, что мне нужно, чтобы каждый месяц составлял ряд автомобилей. Теперь это только показывает ряд автомобилей, если автомобиль имеет пробег в этом месяце. Я хочу, чтобы у автомобиля была строка для каждого месяца, с текущими данными или просто значениями NULL.
Для этого я составил список с идентификатором автомобиля в месяц, вот код для этого и того, как он выглядит.
, carMonthList as (
SELECT
M.MonthDate
, difflist.FK_CarID as fkc
FROM
carMKcombiDiffList as difflist cross join
MonthList M
)
Небольшая проблема, которую он делает (количество месяцев) раз подряд за автомобиль в течение месяца.
Тогда я пытаюсь совместить таблицу с данными автомобиля и стол с автомобилем в месяц данных с использованием UNION. Вот код и пример результат для этого:
, fullList as (
SELECT
CMlist.MonthDate
, CMlist.fkc as CarID
, NULL as beginMonth
, NULL as KM
, NULL as diff
, NULL as CO2
FROM
carMonthList as CMlist
UNION
SELECT
diffList.beginMonth
, diffList.FK_CarID as CarID
, diffList.beginMonth
, diffList.KM
, diffList.diff
, diffList.CO2
FROM
carMKcombiDiffList as diffList
)
Проблема здесь состоит в том, что в течение месяца, где существуют данные, он делает две строки. Вы можете видеть это в месяце 05, он имеет две строки, по одной для каждой стороны союза. Я не могу отфильтровать их, проверив две даты, поскольку он удалит все пустые. Как я могу исправить это, сохраняя строки за каждый месяц со значениями NULL для данных автомобиля?
Я сократить набор данных и обновлять фотографии для 1 автомобиля – Robin
Самый простой и безопасный способ заключается в создании месяцев таблицы, перекрестное соединение это к автомобильным столам и левым, присоединитесь к своим автомобилям ежемесячные данные к этим столам - таким образом, у вас есть запись для каждого автомобиля и каждый месяц. – Arvo
Я сделал это, но потом у меня не было месячной строки за каждый месяц за автомобиль. Только когда были данные о машине за этот месяц – Robin