Объединение таблицы с самой собой - MySQL
Формулировка задачи:
Доброго времени суток. Такой вопрос имеется таблица с такой структуры
id, secret_key ,date, status
задача такая, найти все значения, где status = 2 и для каждого из этих значений найти предыдущее со status = 1 и таким же secret_key.
У меня запрос делает не совсем то, что требуется. Он ко всем найденным со status =2 подставляет предыдущие status = 1
SELECT * FROM TABLES AS ones LEFT JOIN TABLES AS two ON ones.secret_key = two.secret_key AND ones.date > two.date AND two.`status` = 1 WHERE ones.`status`= 2
Решение задачи: «Объединение таблицы с самой собой»
textual
Листинг программы
SELECT *,MAX(two.date) FROM TABLES AS ones LEFT JOIN TABLES AS two ON ones.secret_key = two.secret_key AND ones.date > two.date AND two.`status` = 1 WHERE ones.`status`= 2 GROUP BY ones.secret_key
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д