1

私はテーブル温度を持っています:

id  sentence pcount ncount
1      -       3      5   
2      -       2      6
3      -       1      5
4      -       7      2

.....

上記のテーブルが変更されたときに更新を取得する必要がある既存のテーブルの上からテーブルを作成したい

New_temp

ind_type     Index_val
pcount         sum(pcount)
ncount         sum(ncount)

出来ますか?これを行う方法を教えてください。

4

2 に答える 2

3

新しいテーブルを作成しないでください。ビューを作成するだけです:

create view new_temp
    select 'pcount' as ind_type, sum(pcount) as thecount
    from temp union all
    select 'ncount', sum(ncount)
    from temp;

パフォーマンス上の理由で本当に必要な場合にのみ、新しいテーブルを作成してください。

temp新しいテーブルを作成する場合は、値が変更されたときのテーブルのトリガーも記述する必要があります ( insertupdatedelete)。ビューははるかに単純です。

編集:

ああ、私はあなたが望むテーブルのフォーマットを誤解しました. 1 つの行に 2 つの列が必要です。それはさらに簡単です:

create view new_temp
    select sum(pcount) as pcount, sum(ncount) as ncount
    from temp;
于 2013-07-11T11:32:13.560 に答える