How do I put an 'if clause' in an SQL string?

前端 未结 9 1483
误落风尘
误落风尘 2021-01-29 18:16

So here\'s what I want to do on my MySQL database.

I would like to do:

SELECT *
    FROM itemsOrdered
    WHERE purchaseOrder_ID = \'@purchaseOr         


        
9条回答
  •  死守一世寂寞
    2021-01-29 18:54

    For your specific query, you can do:

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

    However, I might guess that you are looping at a higher level. To set all such values, try this:

    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
                         )
    

提交回复
热议问题