У меня большая проблема, и я пробовал весь день, и не нашел никакого решения. Надеюсь, ты сможешь мне помочь?
У меня есть две таблицы:
Первый из них называется "заказы":
orders_id | orders_date | .....
1 xxxxxxxxxx
2 xxxxxxxxxx
3 xxxxxxxxxx
Вторым является "orders_history":
orders_id | order_status_id | date_added
1 1 2009-10-01
1 2 2010-01-01
2 1 2010-02-01
3 1 2010-02-01
Так что теперь я хочу, чтобы все ордера были где order_status_id = '1'
Я пробовал с MAX, HAVING, GROUP BY, ... также выбирает подвыборы, но я не нашел решения. Я знаю, что это не очень сложно, но я закончил ...
Это что-то вроде:
SELECT orders.*, orders_history.* FROM orders, orders_history WHERE orders_history.order_status_id <= '1'
Но тогда я также получаю Order с order_id 1
Надеюсь, вы сможете помочь. Спасибо!
Sascha
Чтобы уточнить, таблица автора orders_history отслеживает состояние всех заказов с течением времени. Цель - запрос, который найдет все заказы, которые в настоящее время имеют статус заказа 1. Идентификатор заказа № 1 в настоящее время имеет статус 2, поэтому его не следует включать в результаты.
Предположительно, статус заказа со временем повышается и никогда не понижается, так что статус заказа и date_added будут постоянно увеличиваться.