Доброе утро!
У меня есть следующие настройки базы данных:
- таблица заказов: содержит все заказы, включая соответствующий магазин
- таблица shops_status: содержит всестатус для магазина
- таблица orders_status: содержит идентификатор_порта, идентификатор_идентификатора соответствующего магазина и статус, а также дату, когда статус был установлен
здесь приведены операторы db (без индексови так далее, есть еще много столбцов, но я отмечу только необходимые, запросы не будут выполняться):
CREATE TABLE IF NOT EXISTS d02bc910.orders (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
shops_id INT(10) UNSIGNED NOT NULL,
created_at TIMESTAMP NULL DEFAULT NULL,
updated_at TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (id);
CREATE TABLE IF NOT EXISTS d02bc910.shops_status (
shops_status_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
shops_id INT(10) UNSIGNED NOT NULL,
translations_id INT(10) UNSIGNED NOT NULL, <= the software's multilingual so I use translations here
status_order TINYINT(3) NOT NULL,
PRIMARY KEY (shops_status_id);
CREATE TABLE IF NOT EXISTS d02bc910.orders_status (
order_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
status_id INT(10) UNSIGNED NOT NULL,
users_id INT(10) UNSIGNED NOT NULL,
updatedAt DATETIME NOT NULL;
Теперь я хочу создать отчет, содержащийвсе заказы, соответствующие различным параметрам поиска, включая последний статус для соответствующего заказа.Но я не знаю, как объединить JOIN к orders_status с последним установленным status_id.Впоследствии я мог бы сделать это в PHP-foreach, но тогда мне сначала нужно было бы собрать все идентификаторы, выполнить оператор, а затем сопоставить результаты, но я думаю, что есть способ сделать это в SQL.
Кто-нибудь может мне помочь с этим, пожалуйста?
Заранее спасибо, S