MudGuard: MySQL Spalten mit bestimmter Eigenschaft zählen

Beitrag lesen

Hi,

ich habe eine Tabelle, in der es u.a. die Spalten "Termin1", "Termin2", "Termin3" gibt.

klingt nach Normalisierungs-Bedarf …

Manchmal ist kein Termin belegt, manchmal 1, manchmal 2, manchmal 3. Ich würde gerne für jede Zeile abfragen, wieviele Termine jeweils vergeben wurden, also wieviele der Spalteneinträge unter Termin1-3 jeweils nicht NULL sind.

in Oracle würde ich decode(termin1, null, 0, 1) + decode(termin2, null, 0, 1) + decode(termin3, null, 0, 1) verwenden.

Für MySql könnte es (ungetestet) evtl. mit if(termin1 is null, 0, 1) + if(termin2 is null, 0, 1) + if(termin3 is null, 0, 1) oder so ähnlich funktionieren.

Sinnvoller wäre m.E. aber eher die Normalisierung.

cu,
Andreas a/k/a MudGuard