У меня есть две таблицы:SQL: GROUP BY идентификатор, имеющий макс даты
Table 1:
worker_number, first_name , last_name , clinic , doctor_type
1 BB BB Z2 ENT
10 CC CC Z3 ENT
4 DD DD Z4 Orthopedist
5 EE EE Z5Surgeon
8 AA AA Z1 ENT
Table 2:
worker_number, first_name , last_name , clinic , doctor_type, dt_date, patient_id
'1', 'BB', 'BB', 'Z2', 'ENT', '2017-02-01 10:00:00', '1'
'1', 'BB', 'BB', 'Z2', 'ENT', '2017-02-27 15:20:00', '1'
'8', 'AA', 'AA', 'Z1', 'ENT', '2017-02-28 08:40:00', '1'
В основном я хочу, чтобы получить все строки из таблицы 1 что doctor_type = "A"
по заказу dt_date
из таблицы 2, который имеет такой же worker_number
и doctor_type
я пытался сделать Somthing как:
SELECT `table 1`.worker_number, `table 1`.first_name, `table 1`.last_name, `table 1`.clinic
FROM `health`.`table 1`
LEFT JOIN `health`.`table 2`
ON `health`.`table 1`.worker_number = `health`.`table 2`.worker_number
order by `health`.`table 2`.dt_date desc
Но я получил следующий вывод:
8 AA AA Z1
1 BB BB Z2
10 CC CC Z3
1 BB BB Z2
3 DD DD Z4
5 EE EE Z5
Это работает очень хорошо для ВВ, за исключением показывает в два раза, как я могу сделать группу, для максимальной даты?
excpected результат:
8 AA AA Z1
1 BB BB Z2
10 CC CC Z3
3 DD DD Z4
5 EE EE Z5
Результирующий набор без набора данных похож на палку без леденца. См. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query – Strawberry