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

Truy vấn SQL, chỉ chọn nếu cột không rỗng, nếu không, đừng chọn

Nếu bạn muốn nhận một hàng có hai cột khi có hai cột không rỗng và 1 nếu chỉ có một cột, bạn phải tạo động truy vấn của mình.

Nếu bạn muốn luôn có 1 cột trong đó mỗi hàng chứa một giá trị không rỗng, bạn có thể thực hiện điều đó với một liên kết.

SELECT a FROM tbl WHERE a IS NOT NULL AND id = ?
UNION
SELECT b FROM tbl WHERE b IS NOT NULL AND id = ?
UNION
SELECT c FROM tbl WHERE c IS NOT NULL AND id = ?

Nếu bạn muốn biết giá trị đến từ cột nào, bạn có thể làm như sau:

SELECT 'col a' AS ColName, a FROM tbl WHERE a IS NOT NULL AND id = ?
UNION
SELECT 'col b', b FROM tbl WHERE b IS NOT NULL AND id = ?
UNION
SELECT 'col c', c FROM tbl WHERE c IS NOT NULL AND id = ?

Lưu ý:union cũng loại bỏ các kết quả trùng lặp. Nếu bạn muốn giữ các bản sao, hãy sử dụng UNION ALL .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tìm kiếm trong bảng các giá trị được phân tách bằng dấu phẩy?

  2. Ví dụ về MySQL LOAD DATA LOCAL INFILE trong python?

  3. Cách chèn mảng json vào cơ sở dữ liệu mysql

  4. Cách xử lý đúng ký tự quốc tế trong PHP / MySQL / Apache

  5. Tạo cơ sở dữ liệu MySQL