MYSQL Left Join Letzte Zeile des Ergebnis
Ich bin in der Notwendigkeit einige MYSQL-Hilfe.
Ich habe eine Tabelle namens Tickets und eine Tabelle namens statusLogs wie kann ich:
select
t.*,
sl.statusId
from
ticket LEFT JOIN (
select * from statusLog where ticket_ticketId = t.ticketId order by statusLogId DESC LIMIT 1
) sl
Grundsätzlich würde ich gerne wählen Sie den letzten statusLog für eine bestimmte ticket-Nummer in einer Anweisung.
Warum nicht einen trigger? werfen Sie einen Blick auf diese Antwort: stackoverflow.com/questions/26661314/...
InformationsquelleAutor shaneburgess | 2011-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen. Es schließt sich eine Unterauswahl von
statusLog
zieht die höchste (also aktuellste glaub ich)statusLogId
für jedenticket_ticketId
. Ruft denstatusLogId
für das ticket. Eine weitere beizutreten, dann passt dasstatusId
zu denstatusLogId
befindet sich in der ersten mitmachen.InformationsquelleAutor Michael Berkowski
dies ist ungetestet, aber ist eine meiner Möglichkeiten, es zu tun:
Es ist wie gesagt "wähle aus ticket-join-status-Protokoll (sL1), wo ticketIDs match und es gibt keine neuere Status (sL2)"
Für mich zweite join wählt die zweite übereinstimmende Zeile anstatt der Letzte
InformationsquelleAutor Marcel Bankmann