0

ビューを作成するために使用するSQLクエリがあります。そのクエリの実行中に、テーブルの対応するフィールドが更新され、ユーザーが割り当てられる可能性はありますか?

例: 私のクエリでは、次のビューが表示されます。

   dealID |  removalnotes  | rolloverenabled   | rateplanchanges
   1      |  Yes           | Yes               | NULL
   2      | Null           | Null              | NULL
   3      | Null           | Yes               | NULL
   4      | Null           | Yes               | Yes

これが私のクエリです:

SELECT dealID, removalnotes, rolloverenabled , rateplanchanged
FROM invoice_payment
WHERE removalnotes IS NULL OR removalnotes <> 'Yes' 
OR rolloverenabled IS NULL OR rolloverenabled <> 'Yes' 
OR rateplanchanged IS NULL OR rateplanchanged <> 'Yes'
GROUP BY dealID

これを自動的に行うサブクエリをそこに追加できますか? 可能であれば、正確にどこに配置するか、またはサブクエリをどのように配置しますか?

UPDATE invoice_payment SET
user = 'User1'
WHERE dealID = dealID
4

2 に答える 2

1

これを試して、

           UPDATE 
              invoice_payment AS ip
            CROSS JOIN (
              SELECT dealID, removalnotes, rolloverenabled , rateplanchanged
            FROM invoice_payment
            WHERE removalnotes IS NULL OR removalnotes <> 'Yes' 
            OR rolloverenabled IS NULL OR rolloverenabled <> 'Yes' 
            OR rateplanchanged IS NULL OR rateplanchanged <> 'Yes'
            GROUP BY dealID

            ) AS sq
            SET 
              ip.user = 'User1' 
            WHERE ip.dealID = dealID
于 2013-01-15T18:38:14.247 に答える
0

トリガーを追加できます。おそらくそれを使用して解決できます。 http://dev.mysql.com/doc/refman/5.0/es/triggers.html

于 2013-01-15T18:50:56.210 に答える