こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQL文で作ったデータを使ったUPDATE

環境はMySQL5.6です。

下記のテーブルccがあります。

【cc】
shisan  user
500  tanaka
1000  mikami
400   tanaka
1300  mikami

SELECT Total, user FROM (SELECT SUM( cc.shisan ) AS Total, user FROM cc GROUP BY user) AS t1

とすることによりSQL上にt1テーブルを作ることが出来ます。
【t1】
Total  user
900  tanaka
2300  mikami

次に、このt1テーブルのTotalの数値を下記のmoney_tableにあるcash欄に挿入(UPDATE)したいと考えています。

【money_table】
cash  user
0   tanaka
0   mikami

そこで下記のSQL文を作ったのですがエラーになります。

UPDATE money_table,cc SET money_table.cash=t1.Total FROM (SELECT Total, user FROM (SELECT SUM( cc.shisan ) AS Total, user FROM cc GROUP BY user) AS t1) WHERE money_table.user=t1.user

どこがいけないのかご指導いただけませんでしょうか?

よろしくお願いいたします。

投稿日時 - 2015-06-26 23:43:54

QNo.9001481

困ってます

質問者が選んだベストアンサー

UPDATE money_table SET shisan=
(SELECT SUM( cc.shisan ) FROM cc WHERE cc.user=money_table.user)
です。SETの=以下はレコードに対し値が1個設定されるSQL文を書く必要が有ります。

投稿日時 - 2015-06-27 10:48:26

お礼

出来ました!! ありがとうございました。

投稿日時 - 2015-06-27 12:35:16

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問