Ich möchte latest_date
aus einer Datenbank, die zwischen 3 Daten Feld ist. Jetzt verwende ich die folgende Abfrage, aber es ist nicht ok für meine Anforderung. Wie zu vergleichen 3 Datumsfeld zu erhalten latest_date
?Mysql Vergleich drei Datetime Felder
SELECT DISTINCT e.id, MAX(cc.updated) AS clinicComment_date, MAX(af.created) AS attenderInfo_created, e.updated AS event_updated,
(
CASE
WHEN MAX(cc.updated) > MAX(af.created)
THEN MAX(cc.updated)
WHEN MAX(cc.updated) < MAX(af.created)
THEN MAX(af.created)
ELSE e.updated
END
) AS latest_date
FROM Event e
LEFT JOIN EventClinic ec ON e.id = ec.event_id
LEFT JOIN ClinicComment cc ON ec.clinic_id = cc.clinic_id
LEFT JOIN AttendersInfo af ON af.event_id = e.id
WHERE e.status = 'active'
AND (
e.id =43
OR e.id =45
)
GROUP BY e.title
ORDER BY latest_date DESC
Dank
ich mit dieser Abfrage GREATEST laufen (MAX (cc.updated), MAX (af.created), MAX (e.updated)) AS spätestes_datum aber es gibt ein preblem. Wenn ein Datumsfeld null ist, ist das Datum des letzten Datums null. – kogyikyaw
Wie kann ich für einige Datenfelder mit 'NULL'-Wert tun? – kogyikyaw
so müssen Sie für jede Spalte gegen ISNULL überprüfen und NULL-Werte durch einen anderen Wert ersetzen, ich werde meine Antwort bearbeiten – arilia