У меня есть таблица со следующей структурой и записями, все, что я хочу сделать, это просто извлечь orderid из тех записей, чей статус ID равен 1 или 2, я хочу исключить все orderid с statusid = 3, проблема в том,что orderid 106 имеет статус 1 и 3 ... Я написал подзапрос, который служит цели ..
select *
from orders_status_history
where orders_id NOT IN
(select orders_id
from orders_status_history
where orders_status_id = 3)
есть ли другой способ сделать это без использования подзапросов, как у меня естьслышал, что это мешает производительности.Так как мой запрос может вернуть также тысячи строк.
id order-id status-id
1 1 1
2 2 1
3 105 1
4 106 1
5 106 3
6 108 1
7 109 1
8 109 2
Любая помощь или предложение будут высоко оценены. Заранее спасибо ..