Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL để trả về danh sách các trường chứa dữ liệu không phải NULL

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:

  1. 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.
  2. 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 ).
  3. 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ả .
  4. 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:sắp xếp theo thứ tự bên trong nhóm theo

  2. Đối sánh SQL trên sắp xếp chữ cái và số mà không sử dụng biểu thức chính quy

  3. php mysql sắp xếp kết quả theo thứ tự được tìm nạp

  4. các bản ghi hoạt động codeigniter tham gia bằng cách sử dụng?

  5. Làm thế nào phân tách kết quả tìm kiếm theo danh mục? MySQL + PHP