Vì vậy, mục tiêu của bạn là nhận được danh sách tên cột sao cho tất cả chúng đều có ít nhất một giá trị không phải NULL trong bất kỳ hàng nào, phải không? Nếu vậy, hãy xem bên dưới ...
Bạn không thể tham số hóa tên của các cột trong một truy vấn SQL, vì vậy bạn sẽ cần phải xây dựng động văn bản SQL của mình, bằng ngôn ngữ ứng dụng mà bạn chọn. Thuật toán sẽ giống như sau:
- Bạn sẽ phải biết trước danh sách các tên cột. Có nhiều cách để tự động truy xuất danh sách này trong PostgreSQL , MySQL và hầu hết các cơ sở dữ liệu khác.
- Lặp lại danh sách này và cho từng
column_name
xây dựng động văn bản SQL chẳng hạn như:SELECT column_name FROM YOUR_TABLE WHERE column_name IS NOT NULL LIMIT 1
(xem MySQL GIỚI HẠN và PostgreSQL LIMIT ). - Thực hiện truy vấn ở trên và tìm nạp kết quả. Nếu có một hàng trong đó, hãy thêm
column_name
vào danh sách kết quả . - Tiếp tục lặp lại khi có các phần tử trong danh sách tên cột.
Danh sách kết quả hiện chứa các cột có ít nhất một giá trị không phải NULL.