dedlfix: MySQL Spalten mit bestimmter Eigenschaft zählen

Beitrag lesen

Tach!

ich habe eine Tabelle, in der es u.a. die Spalten "Termin1", "Termin2", "Termin3" gibt. Manchmal ist kein Termin belegt, manchmal 1, manchmal 2, manchmal 3.

Gleichartige Daten sind besser in Zeilen statt in Spalten angeordnet sein, dann zählt man einfach ohne weitere Verrenkungen. Aber sei es drum, es geht auch so, wenn auch langsam mit Full-Table-Scan.

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.

SELECT 
  IF(Termin1 IS NULL, 0, 1) + 
  IF(Termin2 IS NULL, 0, 1) + 
  IF(Termin3 IS NULL, 0, 1) Anzahl_Termine FROM ...

dedlfix.