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

Làm cách nào để đặt 'mệnh đề if' trong một chuỗi SQL?

Đối với truy vấn cụ thể của bạn, bạn có thể thực hiện:

UPDATE purchaseOrder
    SET purchaseOrder_status = 'COMPLETED'
    WHERE purchaseOrder_ID = '@purchaseOrder_ID' and
          not exists (SELECT *
                      FROM itemsOrdered WHERE purchaseOrder_ID = '@purchaseOrdered_ID' AND status = 'PENDING'
                     )

Tuy nhiên, tôi có thể đoán rằng bạn đang lặp lại ở cấp độ cao hơn. Để đặt tất cả các giá trị như vậy, hãy thử cách này:

UPDATE purchaseOrder
    SET purchaseOrder_status = 'COMPLETED'
    WHERE not exists (SELECT 1
                      FROM itemsOrdered
                      WHERE itemsOrdered.purchaseOrder_ID = purchaseOrder.purchaseOrdered_ID AND
                            status = 'PENDING'
                      limit 1
                     )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối từ xa Mysql Ubuntu

  2. python - Sự cố khi lưu ký tự Unicode sang MySQL với Django

  3. Bảng tin - Tối ưu hóa cơ sở dữ liệu

  4. Tôi có nên sử dụng PreparedStatements cho tất cả các chèn cơ sở dữ liệu của mình trong Java không?

  5. Hướng dẫn Sao lưu và Khôi phục (Xuất và Nhập) Cơ sở dữ liệu MySQL