Объединение таблицы с самой собой - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы