Hallo Q.
deine Problembeschreibung ist nicht wirklich schlüssig und gibt aufgrund des spartanisch gehaltenen Codebeispiels auch nicht besonders viel preis, womit man dir helfen könnte ...
Du hast a, b, c, ... als Spalten organisiert?
Es wäre spekulativ gesehen besser, so etwas als Zeilen im Datenmodell zu organisieren, dann könntest du mit WHERE
feld is not null
NULL-Werte einfacher ausschliessen.
Oder du stellst deine Query mittels UNION ALL um
SELECT t1.xx, 'Option A', a as Value
FROM ...
WHERE a IS NOT NULL
UNION ALL
SELECT t1.xx, 'Option B', c as Value
FROM ...
WHERE a IS NOT NULL
UNION ALL
SELECT t1.xx, 'Option C', c as Value
FROM ...
WHERE a IS NOT NULL
.. und so weiter
Das macht viel Code und ist recht unelegant.
Wir sind hier doch nicht beim Ballett, oder? Wenn an das momentane Datenmodell gebunden bist, bleibt dir nun mal fast nur der Ausweg über ein if-Konstrukt. Im Rahmen der Möglichkeiten und Notwendigkeit, finde ich das in Ordnung.
Ciao, Frank