-3

次の操作を実行したい MYSQL テーブルがあります。

ID Com Com_Sub Year パラメータ値
6 A A1 2010 利益 33766.18
20 A A1 2010 収入 2793617.12
30 A A1 2011 利益 84310.73
54 A A1 2009 利益 129129.5284
60 A A1 2011 収入 2049157.294
70 B B1 2010 利益 3753765490
76 B B1 2010 収益 217326.7561

今、私はそれを操作して、このようにする必要があります

ID Com Com_Sub 年 パラメータ値 新しい値
6 A A1 2010 利益 33766.18 0.0123
20 A A1 2010 収入 2793617.12
30 A A1 2011 利益 84310.73 0.0252
54 A A1 2009 利益 129129.5284    
60 A A1 2011 収入 2049157.294
70 B B1 2010 利益 3753765490 1.235
76 B B1 2010 収益 217326.7561

これは、行に共通の Year 値と Common Com_sub 値がある場合は常に、両方の値の除算を追加する必要があることを意味します。

4

2 に答える 2

0

テーブルが と呼ばれていると仮定すると、次のnanuetようになります。

alter table nanuet add newvalue decimal(6,2);

update nanuet n1 join nanuet n2 on n1.c1=n2.c1
    set n1.newvalue = n1.value/n2.value
    where n1.id<n2.id;

同じ値の行が 2 つ以上ある場合c1、結果を予測するのは難しくなります。

于 2013-07-07T08:25:52.210 に答える
0
    UPDATE tbl t1
       SET t1.new_col_name = t1.Value / t2.Value
INNER JOIN tbl t2 ON t2.Com_Sub = t1.Com_Sub
                 AND t2.Year = t1.Year 
                 AND t2.Parameter = 'Revenues'
     WHERE t1.Revenues = 'Profit'
于 2013-07-07T08:34:10.037 に答える