Значи целта ви е да получите списъка с имена на колони така че всички те да имат поне една стойност, различна от NULL, във всеки от редовете, нали? Ако е така, вижте по-долу...
Не можете да параметризирате имената на колони в SQL заявка, така че ще трябва да изградите своя SQL текст динамично, на клиентския език по ваш избор. Алгоритъмът би изглеждал така:
- Ще трябва да знаете списъка с имена на колони предварително. Има начини за автоматизиране на извличането на този списък в PostgreSQL , MySQL и повечето други бази данни.
- Прегледайте този списък и за всеки
column_name
динамично изградете SQL текста, като например:SELECT column_name FROM YOUR_TABLE WHERE column_name IS NOT NULL LIMIT 1
(вижте MySQL LIMIT и PostgreSQL LIMIT ). - Изпълнете заявката по-горе и извлечете резултата. Ако има ред в него, добавете
column_name
до резултатния списък . - Продължете да повтаряте, докато има елементи в списъка с имена на колони.
Полученият списък вече съдържа колони с поне една стойност, различна от NULL.