私はgrand_ totalフィールドを保持する 'quot_items'というテーブルを持っています。この構造を持っていますmysqlの別のテーブルの値に基づいてあるテーブルのカラムを更新する
tender_id | grand_total
15001 100000
15002 250000
15003 1500000
16009 4500000
「カテゴリ」フィールドを保持する「引用」という別のテーブルがあります。それはこの構造を持っています。
tender_id | category
15001 H
15002 E
15003 B
16009 A
私は一定の条件がある中でMYSQLでのUPDATE文を必要とつらいIAMは何ですか:
手段IF [GRAND_TOTAL '] < '100000')[カテゴリのH(もしテーブルのGRAND_TOTAL値その後、 'H' としてテーブル '引用' カテゴリフィールドを更新< 100000 'でquot_items'
IF([ 'GRAND_TOTAL']> = '100000')& &([ 'GRAND_TOTAL'] < = '200000')カテゴリ 'G'。
& &(['grand_total'] < = '600000')の場合は、 'F'カテゴリになります(['grand_total']> '200000')。
([ 'GRAND_TOTAL']> '600000')& &([ 'GRAND_TOTAL'] = '1000000' <)[カテゴリ 'E' の場合。
([ 'GRAND_TOTAL']> '1000000')& &([ 'GRAND_TOTAL'] = '1500000' <)[カテゴリ 'D' の場合。
さらに条件があります。 1つの更新ステートメントで自分のDBを更新できるように、MYSQLでこれを行うためのクエリが必要です。誰でも私を助けることができるPls。
私は次のことを試してみました:
UPDATE quotation INNER JOIN quotation_items ON quotation.tender_id = quotation_items.tender_id
SET quotation.category = (
CASE WHEN quotation_items.grand_total < 100000 then 'H'
WHEN quotation_items.grand_total >= 100000 && quotation_items.grand_total <= 200000 then 'G'
WHEN quotation_items.grand_total > 200000 && quotation_items.grand_total <= 600000 then 'F'
WHEN quotation_items.grand_total > 600000 && quotation_items.grand_total <= 1000000 then 'E'
WHEN quotation_items.grand_total > 1000000 && quotation_items.grand_total <= 1500000 then 'D'
END
);
ありがとうございました。 –