Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да сложа 'if клауза' в SQL низ?

За вашата конкретна заявка можете да направите:

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'
                     )

Въпреки това, може би предполагам, че зацикляте на по-високо ниво. За да зададете всички такива стойности, опитайте това:

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. Фатална грешка:Извикване на недефинирана функция mysqli_result()

  2. Използване на Oracle JDeveloper с MySQL Database Service на Oracle Cloud Platform, част 2

  3. Как да проверя дали дадена стойност е цяло число в MySQL?

  4. ИЗБЕРЕТЕ различни стойности за множество редове с един и същ идентификатор

  5. АКТУАЛИЗИРАНЕ/ИЗТРИВАНЕ в mysql и да получите списъка със засегнатите идентификатори на редове?