Jadi, tujuan Anda adalah mendapatkan daftar nama kolom sedemikian rupa sehingga semuanya memiliki setidaknya satu nilai non-NULL di salah satu baris, bukan? Jika ya, lihat di bawah...
Anda tidak dapat membuat parameter nama kolom dalam kueri SQL, jadi Anda harus membuat teks SQL secara dinamis, dalam bahasa klien yang Anda pilih. Algoritme akan terlihat seperti ini:
- Anda harus mengetahui daftar nama kolom terlebih dahulu. Ada cara untuk mengotomatiskan pengambilan daftar ini di PostgreSQL , MySQL dan sebagian besar basis data lainnya.
- Ulangi daftar ini dan untuk setiap
column_name
membangun teks SQL secara dinamis seperti:SELECT column_name FROM YOUR_TABLE WHERE column_name IS NOT NULL LIMIT 1
(lihat MySQL LIMIT dan PostgreSQL LIMIT ). - Jalankan kueri di atas dan ambil hasilnya. Jika ada baris di dalamnya, tambahkan
column_name
ke daftar hasil . - Teruskan iterasi selagi ada elemen dalam daftar nama kolom.
Daftar yang dihasilkan sekarang berisi kolom dengan setidaknya satu nilai non-NULL.