У меня есть 3 таблицы базы данных:
- OpenROHeader
- OpenROData
- OpenRONotes
Заголовок и данные обновляются (перезаписываются)каждый час, пока заметки добавляются вручную и связываются через поле «RO_Number»
Что я хочу, чтобы SQL делал, это извлекал самые последние «Заметки» (по дате «date_updated»)
SELECT file_date, rod.id as id, key_id, key_name, key_value, DATE_FORMAT(expected_close_date , '%d/%m/%y' ) as expected_close_date, wty_dept
FROM OpenROHeader roh
JOIN OpenROData rod ON roh.id=rod.header_id
LEFT JOIN OpenRONotes ron ON rod.key_value=ron.ro_number
WHERE roh.customer_id='193'
GROUP BY key_id, key_name
В таблице Notes есть 2 записи - я хочу самые последние:
id, customer_id, ro_number, expected_close_date, advisor_notes, wty_dept, date_updated
4059, 193, 'S117986', NULL, 'WTY_ON<br>- S.W.', 'on', '2018-09-24 05:02:45'
4060, 193, 'S117986', NULL, 'WTY_OFF<br>- S.A.', NULL, '2018-09-24 05:03:24'
Я хочу, чтобы он возвращал данные (последние 2 столбца) в SELECT из строки с идентификатором 4060 NOT 4059
http://sqlfiddle.com/#!9/f00326/1/0
Но вместо того, чтобы возвращать самый последний 'wty_dept' (NULL) с 2018-09-24 05: 03: 24
Мой SQL-оператор возвращает предыдущую запись 'on' с 2018-09-24 05:02:45 (старше)
Как отсортировать объединение, чтобы получить самые последние данные