У меня есть таблица order_status так:как написать запрос для проверки другой таблицы на основе условия?
order_id order_status
1 100
2 1000
3 1000
У меня есть другая таблица order_status_history, который хранит исторические данные для заказа:
id order_id order_status status_date
1 1 100 2016-01-01
2 2 100 2016-02-01
3 2 300 2016-04-01
4 3 100 2016-04-01
5 3 400 2016-04-01
6 3 1000 2016-04-01
7 2 1000 2016-05-01
Я пытаюсь построить ежедневный отчет, где на данный срок , Я хочу посмотреть, был ли заказ выполнен или работает. Я довольно плохо разбираюсь в SQL и не могу понять, как это сделать. Если для даты статус заказа < 1000, то он выполняется, иначе он будет завершен.
Например: Для даты 2016-04-01, отчет будет:
order_id status
1 in-progress (because as of report date, its latest status is 100)
2 in-progress (because as of report date, its latest status is 300)
3 completed (because as of report date, its latest status is 1000)
Я пытаюсь что-то вроде следующего, чтобы попытаться по крайней мере, найти в заказах прогресса:
select distinct s.order_id, s.order_status
from order_status
left join order_status_history h on h.order_id = s.order_id
where max(h.status_date) <'2016-04-01'
and status < 1000
Любого помощь очень ценится!
Текущее состояние в таблице order_status также содержится в таблице таблиц? – Shadow
Таблица 'order_status' на самом деле не имеет смысла. –