Это на самом деле часть массивного SQL-запроса, но у меня этот код работает, и теперь я не могу понять, почему он не нашел последнюю запись записи.найти последнюю запись в SQL-запросе
То, что я пытаюсь сделать, это присоединиться ко всем другим назначениям на себя, чтобы узнать, какой из них является последним. И все мои результаты кажутся нулевыми. Но это неверно, потому что у моих данных определенно есть встречи. Поэтому я думаю, что что-то не так с моим выбранным запросом. Любая помощь будет большой.
SELECT `animal_id`,
FROM_UNIXTIME(`lastappointment`.`appointmentdata_starttime`,'%D %M %Y') AS 'Last Appointment'
FROM `animal`
LEFT JOIN (
SELECT `lAppointment`.*
FROM `appointment` AS `lAppointment`
LEFT JOIN `appointment` AS `nlAppointment`
ON `nlAppointment`.`appointmentdata_starttime` <= NOW()
AND `nlAppointment`.`appointmentdata_starttime` > `lAppointment`.`appointmentdata_starttime`
AND `nlAppointment`.`appointmentdata_animal` = `lAppointment`.`appointmentdata_animal`
WHERE `lAppointment`.`appointmentdata_starttime` <= NOW()
AND `nlAppointment`.`appointment_id` IS NULL
) AS `lastappointment`
ON `animal_id` = `lastappointment`.`appointmentdata_animal`
WHERE `animaldata_active` IS NOT NULL
GROUP BY animal_id;
Вы уверены, что 'appointment'.'appointmentdata_animal' такое же, как' animal'.'animal_id'? – cha
yep. destination.appointmentdata_animal - это FK с ограничением на animal.animal_id –
В отсутствие какой-либо сортировки нет «последней» – symcbean