Ich kämpfe mit einem Fall, wenn Aussage (MySQL) und seine wahrscheinlich etwas einfach ich vermisse.Verwendung von CASE WHEN-Anweisungen (MySQL)
ich eine ziemlich komplexe Abfrage, die einige Werte Sensor gibt und niedrigen und hohen Grenzen (die schließlich auslösen Alarme), als Teil dieser Abfrage, die ich verwenden -
case when sequence=0 then value END as lowlimit,
case when sequence=1 then value END as highlimit
Die Ausgabe von der Auswahl ist -
status sensor lowlimit highlimit
163 49 NULL 24
163 49 15 NULL
128 25 NULL 8
128 25 4 NULL
aber ich brauche die Ergebnisse 'verketteten' (eine einzelne Zeile für jeden einzigartigen Status) zu sein, so dass -
status sensor lowlimit highlimit
163 49 15 24
128 25 4 8
so müssen wohl etwas zu den Case-Anweisungen hinzufügen, aber wenn ich
max(case when sequence=0 then value END) as lowlimit,
max(case when sequence=1 then value END) as highlimit
verwenden dann nur 1 Zeile ausgegeben -
status sensor lowlimit highlimit
163 49 15 24
jede Hilfe zu schätzen.
Grüße Aktive
Können Sie die Abfrage bitte teilen? – Mureinik
Nicht wirklich, es gibt 8 Tabellen Joins und die Select-Anweisung hat tatsächlich 15 Elemente, das einzige Problem ist der Fall, wenn Anweisung auf mehr als 1 Zeile ausgibt – Active