У меня есть таблица ORDERS
, у каждого ORDER_ID
может быть несколько статусов.
ORDER_ID | STATUS
---------|-------------
1001 | Requested
1001 | Approved
1001 | Invoiced
1001 | Received
1001 | Delivered
1011 | Requested
1011 | Approved
1011 | Invoiced
1011 | Delivered
Мне нужно идентифицировать ORDER_ID
s, у которых есть Доставлено STATUS
, но не Получено STATUS
.
ex: нижеуказанный ордер не имеет статуса Получено.
ORDER_ID
--------
1011
Я пытался сделать запрос, используя group by having count < 5
, но он не работает
Я попытался получить все заказы, которые имеют статус Delivered
во внутреннем запросе, и попытался получить заказы, которые имеют статус Delivered
, но не Received
. который тоже не работает. что-то вроде ниже
select order_id from orders where status !=Received and order_id in
(select order_id from orders where status==delivered)
что такое правильный запрос?