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

cách viết một truy vấn dựa trên cột của nó

Theo cách hiểu của tôi, nếu Inserted_Date = Jan 2013Frequency = 'Halfyearly' , rồi đến Eligibility = 1 khi tháng hiện tại là Jan 2013, Jul 2013, Jan 2014, Jul 2014 etc..

UPDATE TableA
SET Eligibility = CASE WHEN (Frequency = 'Halfyearly' 
                            AND MONTH(Inserted_Date) % 6 = MONTH(NOW()) % 6) 
                         OR (Frequency = 'Quarterly' 
                            AND MONTH(Inserted_Date) % 3 = MONTH(NOW()) % 3)
                      THEN 'Yes'
                      ELSE 'No' 
                 END

Nếu bạn cũng có Hàng năm, bạn có thể chỉ cần kiểm tra

MONTH(Inserted_Date) = MONTH(NOW())

Xem điều này hoạt động trên SQLFiddle



  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ệnh gọi Ajax trả về toàn bộ trang thay vì chỉ giá trị echo

  2. Phân vùng bảng cơ sở dữ liệu trong MySQL

  3. Dữ liệu là Null. Phương thức hoặc thuộc tính này không thể được gọi trên các giá trị null. (Sử dụng hộp tổ hợp)

  4. Thay đổi kết nối truy vấn thô thành laravel Eloquent

  5. Viết một truy vấn kế thừa được viết bằng SQL bằng cách sử dụng một phép nối bên trong?