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

MYSQL nếu truy vấn chọn trả về 0 hàng thì truy vấn chọn khác?

Điều này dường như hoạt động từ một thử nghiệm nhanh mà tôi vừa thực hiện và tránh sự cần thiết phải kiểm tra sự tồn tại của x=1 hai lần.

SELECT SQL_CALC_FOUND_ROWS *
FROM mytable
WHERE x = 1

UNION ALL

SELECT *
FROM mytable
WHERE 
FOUND_ROWS() = 0 AND x = 2;

Chỉnh sửa:Sau khi bạn làm rõ câu hỏi, rõ ràng 2 truy vấn sẽ cần phải tương thích với UNION để hoạt động ở trên.

Câu trả lời cho câu hỏi cập nhật của bạn là Không. Điều này không thể thực hiện được trong một truy vấn. Bạn sẽ cần sử dụng một số logic thủ tục có điều kiện để thực hiện truy vấn mong muốn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php imap - lấy nội dung và tạo văn bản thuần túy

  2. Làm cách nào để xác định xem có sử dụng SSL trong Kết nối MySql không?

  3. Làm cách nào để cập nhật một bảng tự động khi một bảng khác được cập nhật trên máy chủ mysql khác?

  4. MySQL - Cập nhật nhiều giá trị và Ở ĐÂU TRONG

  5. Django management.py syncdb ném Không có mô-đun nào có tên MySQLdb