У меня есть следующая таблица:
Id | OrderNO | QTY | Station | DateSt | DateEd | Status | CreatedDt
1 | 200 | 30 | ABC | 10/19/2019 1:00pm | NULL | NULL | 10/19/2019 1:00pm
2 | 200 | 30 | ABC | NULL | NULL | NULL | 10/19/2019 2:00pm
3 | 200 | 0 | ABC | NULL | 10/19/2019 3:00pm | End | 10/19/2019 3:00pm
Что я хочу сделать, это получить запрос, чтобы показать сумму столбца Qty и только строки с начальной датой и датой окончания. Примерно так:
OrderNO | QTY | Station | DateSt | DateEd | Status | CreatedDt
200 | 60 | ABC | 10/19/2019 1:00pm | NULL | NULL | 10/19/2019 1:00pm
200 | 0 | ABC | NULL | 10/19/2019 3:00pm | End | 10/19/2019 3:00pm
На данный момент у меня есть запрос, чтобы показать результат, как я ожидаю, но я не использую столбцы Даты, если я добавлю эти столбцы, запрос покажет больше строк, чем я хочу. Вот мой запрос:
SELECT OrderNO, SUM(QTY), Station, Status
FROM TableName WHERE Status IS NULL
GROUP BY OrderNO, Station, Status
UNION ALL
SELECT OrderNO, QTY, Station, Status
FROM TableName WHERE Status='End'
GROUP BY OrderNO, Station, Status
Pd. Строка, содержащая Status = 'End', всегда будет иметь Qty = 0 и DateEd datetime. Первая строка, вставленная в мою таблицу, должна содержать DateSt datetime.
Что я могу сделать, чтобы добавить эти столбцы datetime, сохраняя конечный результат, как я ожидаю?