Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Как сделать JOIN предпоследней записи, основываясь на уже выбранной дате?  [new]
Sean York
Member

Откуда:
Сообщений: 21
Есть такой запрос:

SELECT 
c.id,
b.date
FROM client c
JOIN bill b on b.client_id = c.client_id


Результат:

id | date
1 | 2017-09-03 23:11:11
2 | 2017-09-01 01:22:01


Есть таблица history с данными по изменениям статуса клиента вида:

record_id | changeDate | client_id | status
1 | 2017-09-02 00:00:00 | 1 | new
2 | 2017-09-05 00:00:00 | 1 | active       
3 | 2017-09-01 00:00:00 | 2 | old
4 | 2017-09-20 00:00:00 | 2 | active


Вопрос: как приджойнить таблицу history к первой выборке, чтобы вывести у клиента последний статус, у которого дата changeDate меньше, чем b.date из первой выборки?

То есть в итоге должно быть так:

id | date | previousStatus
1 | '2017-09-03 23:11:11' | 'new'
2 | '2017-09-01 01:22:01' | 'old'
2 окт 17, 17:06    [20836943]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить