sql >> データベース >  >> RDS >> Mysql

SQL文字列に「if句」を入れるにはどうすればよいですか?

    特定のクエリについては、次のことができます。

    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. Oracleインメモリコスト

    2. SQL Server(T-SQL)でHEXをINTに変換する3つの方法

    3. タイプによって違反された継承セキュリティルール:'MySql.Data.Entity.MySqlEFConfiguration'

    4. 10個の例を含むPL/SQLのOracleCREATETABLEコマンド