条件にあった(複数行) 行をUPDATEしたい
以下に記述する条件でUPDATEしたいのですが、
どのようなSQLを使えばよいか教えて頂けないでしょうか、
いろいろ試してみたのですがうまくいきません。
よろしくお願い致します。
*UPDATE前
「バイト給与テーブル」
ユーザー,作業日,ステータス,日給,締め日,支払日
Aさん,06/03,支払済,3000,06/30,07/10
Aさん,06/15,支払済,7000,06/30,07/10
Aさん,07/05,未払い,1000,NULL,NULL
Aさん,07/08,未払い,3000,NULL,NULL
Aさん,07/30,未払い,4000,NULL,NULL
Bさん,06/20,未払い,2000,NULL,NULL
Bさん,06/28,未払い,3000,NULL,NULL
Bさん,07/05,未払い,2000,NULL,NULL
Bさん,07/11,未払い,5000,NULL,NULL
Bさん,07/20,未払い,3000,NULL,NULL
UPDATE条件:
7月給与の締めを行う時(6月未払い分と7月分)
「ステータス」が'未払い'で「日給」の合計が一万円以上の場合だけ
「ステータス」を'締め'とし「締め日」に'07/31'と[UPDATE]したいのです。
イメージとしては、以下のような感じです。
SELECT ユーザー AS '支払発生ユーザー' FROM バイト給与テーブル
WHERE ステータス = '未払い'
GROUP BY ユーザー
HAVING SUM(日給) >= 10000
UPDATE バイト給与テーブル
SET
ステータス = '締め',
締め日 = '07/31'
WHERE ユーザー = '支払発生ユーザー'
AND ステータス = '未払い'
現在使用しているMYSQLのバージョンでは、サブクエリーは使えないようです。
ご教授お願い致します。
お礼
有難うございます。 ご指摘いただいた方法で対応できました!! INSERT INTO では set での構文は一行insert 用ということを知らず長時間悩んでいました。 有難うございました。本当に助かりました!