![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以下に記述する条件で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のバージョンでは、サブクエリーは使えないようです。
ご教授お願い致します。
No.1ベストアンサー
- 回答日時:
ユーザー、作業日でユニーク属性をつけておけばREPLACEで処理できます。
テンポラリをうまくつかうとよいでしょう。
ALTER TABLE `バイト給与テーブル`
ADD UNIQUE (`ユーザー` ,`作業日`);
(これは1回やっておけばよい)
CREATE TEMPORARY TABLE `TEMP_支払い`
SELECT ユーザー AS `支払発生ユーザー`
FROM `バイト給与テーブル`
WHERE `ステータス` = '未払い'
GROUP BY `ユーザー`
HAVING SUM(`日給`) >= 10000;
CREATE TEMPORARY TABLE `TEMP_変換`
SELECT `ユーザー`,`作業日`,'支払済' AS `ステータス`,`日給`,'2006-07-31' AS `締め日`,NULL AS `支払日`
FROM `バイト給与テーブル`
INNER JOIN `TEMP_支払い` ON `支払発生ユーザー`=`ユーザー`;
REPLACE `バイト給与テーブル`
SELECT * FROM `TEMP_変換`;
この回答への補足
書き込みが遅くなりすみません。
教えて頂いた方法で試した結果うまく処理出来ました。
TEMPORARY TABLE 、REPLACEともに今まで使った事がなかったので、
今回教えて頂いた事は、とても勉強になりました。
特にTEMPORARY TABLEの応用範囲はひろそうですね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 財務・会計・経理 社会保険料の支払について、何月発生の給与に対する支払なのか? 8 2022/06/05 13:05
- 財務・会計・経理 源泉した所得税について、支払う対象の期間が分からない。 1 2022/06/05 10:05
- 財務・会計・経理 経理処理について質問です。 ①12月に1名入社がありました。 ※それまでは役員と不定期のアルバイトの 1 2023/02/23 11:14
- 子供・未成年 給料の未払いについて 3 2022/10/16 09:40
- 財務・会計・経理 賞与について質問です。 例)5月分給与(6月25日支給)の場合 5月末 ・給料1000000/未払費 3 2023/07/31 18:55
- 訴訟・裁判 未払有給の請求において、未払分に加えて遅延損害金を請求する場合、何という法律を根拠にしますか? また 2 2022/08/26 10:13
- 財務・会計・経理 住民税の処理について教えてほしいです。 給与所得に係る特別区民税・都民税 特別徴収税額の決定・変更通 3 2023/05/18 13:24
- 所得税 賞与の所得税の納付書について 毎月納付書で給与の所得税を納付しているのですが 賞与の分も同じ納付書に 2 2023/07/09 21:34
- 労働相談 労災・休業補償について 2 2022/08/29 15:47
- 健康保険 健康保険と厚生年金の天引きについて教えてください。 先日、6月20日に前職を退社し、翌日21日より新 3 2023/07/02 02:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです教えてください。
-
オーダーの覚え方について
-
「テーブルに座って……」という...
-
アクセスのリンクテーブル一覧...
-
テーブルリンク リンク元を知...
-
L2SWはARPテーブルを持っている?
-
飲み会で、座敷orテーブルどち...
-
2つのテーブルの結合(同一テ...
-
男性と2人で飲食店に行きテーブ...
-
ACCESSには NETWORKDAYS関数は...
-
SQL構文です 画像のようにした...
-
外部キーだけのテーブル(主キ...
-
飼い犬に噛まれて大出血しまし...
-
【エクセル】データテーブルの...
-
複数テーブルにわたるCOUNT
-
Oracleのテーブルサイズ
-
mysqlのupdate構文についての質...
-
mysql alter table 終わらない
-
論理名とコメント構文(?)について
-
バイキングのトレーの形
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
男性と2人で飲食店に行きテーブ...
-
テーブルリンク リンク元を知...
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
アクセスのリンクテーブル一覧...
-
ターンテーブルの、電子レンジ...
-
飲み会で、座敷orテーブルどち...
-
【PHP】SQL文のSUM関数で出力し...
-
まるいテーブル 円い 丸い 漢字...
-
テーブル:生徒名簿 生徒名簿の...
-
1対1のリレーション(主キー同...
-
論理名とコメント構文(?)について
-
面接のときテーブルが正面に。...
-
一致するデータのみ削除したい
-
複雑なSQL文について
-
SQL構文です 画像のようにした...
-
件数の多い順にselect
-
お金持ちのテーブル
おすすめ情報