我有桌子温度:

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)

有可能吗?
请告诉我怎么做。

最佳答案

不要创建新表。只需创建一个视图:

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

只有在出于性能原因确实需要时才创建新表。
如果您确实创建了一个新表,那么当值更改时(tempinsertupdatedelete),您还必须为表编写触发器。视野要简单得多。
编辑:
哦,我误解了你要的桌子的格式。你想要一行两列。更简单的是:
create view new_temp
    select sum(pcount) as pcount, sum(ncount) as ncount
    from temp;

09-12 13:01