ホームページ >バックエンド開発 >PHPチュートリアル >この SQL の書き方を聞いてください

この SQL の書き方を聞いてください

WBOY
WBOYオリジナル
2016-06-23 14:22:38938ブラウズ

この投稿は u011669689 によって最終編集されました: 2013-09-25 18:25:00

SQL select update

基本条件:
user テーブル userid,username
user_money テーブル u_id,user_money
user_money_exchange テーブル :money,username,ordertag = 1 または 2

次に実行したいのは:

update user_money set user_money = (user_money_exchange sum(money) when ordertag =1 + sum(money) when ordertag =2) where user_money.u_id = user.userid


rreええ

これはどれが正しいのか知りたいです。皆さんありがとうございます

ディスカッション(解決策)への返信

まず該当するデータを取得してからアップデートを実行してください。頭の中でこんな風に書けません

試してみてください

update user_money set user_money.money = (select sum(ume.money) as m , u.userid from user_money_exchange ume  left join user u on ume.username = u.username where ume.ordertag = 1 group by ume.username + select sum(ume.money) as m , u.userid from user_money_exchange ume  left join user u on ume.username = u.username where ume.ordertag = 2 group by ume.username) where user_money.u_id = u.userid

ありがとう、うまくいきます、ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。