现在,我想添加一个新的列,其中的数据已经添加到sql中的现有表中,我应该怎么做。
假设我有一个带有列(id、price、quantity)的temp表,其数据如下所示:
id price quantity
01 3 4
02 8 2
03 9 1
现在我想使用以下代码导出列调用:
select id, price * quantity as revenue
from temp;
结果应该是这样的:
id revenue
01 12
02 16
03 9
现在我想把这个收入和现有数据一起添加到temp表中
我试过用'as'改变表,但不起作用,我还试过用revenue创建一个新表,在表中创建一个新列,然后使用'update'会得到如下结果:
id price quantity revenue
01 3 4
02 8 2
03 9 1
null null null 12
null null null 16
null null null 9
那我该怎么办?
2条答案
按热度按时间blmhpbnm1#
我建议您不要在表中为revenue实际添加一个新列,因为它只是从其他列派生的。相反,请考虑创建一个视图:
如果您使用的是ndb存储引擎,那么还可以利用计算列,例如。
但是,如果您使用的是myisam或innodb,这将不是您的选择。
dluptydi2#
回答您的问题:
这将添加新列,然后更新每行的
revenue
列值与计算的price * quantity
每行的。