2017-08-21 6 views
0

私は50ドル未満の場合は商品価格に自動的に送料を加算するクエリを作成しています。 50以上の生の価格。私はCASE、IF、およびSUMでいくつかの実験を行ったが、私は必要なものがどれかわからない。初期MySQL:価格が<50、合計(価格+14)

:理想の

Stock_Number Line Part_Number Q T Price 
AAB_1074901519, AAB, 1074901519, 1, AM, 120.67 
AAB_1074908119, AAB, 1074908119, 1, AM, 108.29 
AAB_1264907619, AAB, 1264907619, 1, AM, 364.49 
AAB_1294908319, AAB, 1294908319, 1, AM, 368.97 
AAB_1378254, AAB, 1378254, 1, AM, 36.18 

AAB_1074901519, AAB, 1074901519, 1, AM, 144.67 //Because price > 50, +22 
AAB_1074908119, AAB, 1074908119, 1, AM, 130.29 //Because price > 50, +22 
AAB_1264907619, AAB, 1264907619, 1, AM, 386.49 //Because price > 50, +22 
AAB_1294908319, AAB, 1294908319, 1, AM, 390.97 //Because price > 50, +22 
AAB_1378254, AAB, 1378254, 1, AM, 50.18 //Because price < 50, +14 

アニルは私の問題を解決しました。みんなあなたの努力のおかげで!

case文を使用できます。ここでは、クエリです。テーブル名を と置き換えてください。

ご希望の場合は<を選択してください50価格+送料その他の価格は あなたのテーブルから;

+1

あなたのテーブルをテキストテーブルとして共有し、期待した結果をテキストテーブル –

+1

として表示して、疲れたものを表示してください。 –

+0

サブクエリcaseステートメント、別名case as price_s、外部クエリsum(price_s) – OregonTrail

答えて

1

あなたはcase文を使用することができます。ここでは、クエリです。表名と列名を置換します。

select case when price < 50 then price + shipping cost else price end from your table; 
+0

ブリリアント!あなたは私の問題を解決しました。どうもありがとうございます。私がしたいと思っている他のバリデーションのためにその構文を使用します! – alleuroKyle

0

このアップデートを使用することができます。

update table set price= case 
when price<50 then price+shipping_fee1 
else price+shipping_fee2 
end;