Я стараюсь управлять командой доставки. Поэтому я хочу отобразить таблицу. Первая строка будет завершена днем. И следующие строки будут заполнены состояниями и их продолжительностью. Строка «дата» должна содержать все дни месяца. Даже если никто не работает.SQL ACCESS - Left Join? Просмотреть все дни месяца
- First table (typeState) -
deliveryStatusDuration //State Time (seconds) INTEGER
deliveryStatus //Type Status INTEGER
startStatus //Start of the state DATE
endStatus //End of the state DATE
deliveryCarNum //deliverer identifier INTEGER
- Second table (dateTable) -
dateInt // Just an integer (from 1 to 31) INTEGER
My SQL запрос:
SELECT SUM(deliveryStatusDuration) AS DURATION, deliveryStatus, datetable.dateInt
FROM datetable
LEFT JOIN typeState ON datetable.dateInt = DAY(typeState.startStatus)
WHERE deliveryCarNum = :CarNum AND
startStatus >= :DateStart AND
endStatus <= :DateEnd AND
(
typeState.startStatus Is Null OR
typeState.deliveryStatus Is Null OR
datetable.dateInt <= DAY(:DateEnd)
)
GROUP BY datetable.dateInt, deliveryStatus
Я знаю, что он должен изменить "Left Join", но я не вижу, каким образом?
Цель, независимо от месяца: 1 2 3 4 5 6 7 8 9 ... [последний день месяца] ................... .................................................. .........
вход и выход образцов было бы очень полезно здесь. «Изображение стоит тысячи слов», безусловно, верно для SO SQL-вопросов. –
Я использую SQL в FastReport, знаете ли вы? – DataCube