Ich habe folgende Daten in einer Tabelle:
%Vor%Diese Daten werden chronologisch mit dem DateTime-Feld sortiert. Ich möchte diese Record 'Paare' als 1 Zeile anzeigen, so:
%Vor%Es gibt ein paar Vorbehalte: Wenn es keinen Type1 zum Starten gibt, dann zeige NULL im Feld Typ1Km der resultierenden Tabelle an. Wenn kein Typ2-Ende vorhanden ist, wird NULL in den Feldern 'Type2Km' der Datensätze angezeigt.
Wie könnte ich das tun?
Leider fehlt MySQL eine FULL OUTER JOIN
, also müssen Sie UNION
zwei Sätze zusammensetzen.
Damit erhalten Sie die Fälle, in denen Type1Km
existiert, unabhängig davon, ob Type2Km
dies tut oder nicht.
Jetzt brauchen wir die Fälle, in denen Type1Km
nicht existiert.
UNION
diese zusammen, und Sie haben das gewünschte Ergebnis:
Aktualisieren
In meiner vorherigen Abfrage habe ich vergessen, einen Datensatz vom Typ "2" ganz am Anfang zu berücksichtigen. Aktualisiert, um dies zu berücksichtigen. Hier sind die Ergebnisse, die ich bekomme:
Daten in times
Tabelle:
Ergebnisse der Abfrage:
%Vor%