关于在SQL中乘以列的问题

时间:2011-03-29 01:26:00

标签: sql database

我想知道是否有可能将两列相乘,如果是这样的话,会发生什么呢?

假设我有一张桌子

a    b
1    4
2    5
3    6

我可以做点什么吗

SELECT a *b from table

这会逐行将内容相乘,然后将其存储在新列

这些结果是否正确

4
10
18

3 个答案:

答案 0 :(得分:13)

该查询将乘以这些值,但不会“将其存储在新列中”要存储它,您必须发出更新语句。

假设您在表格中添加了一个新列(“c”),您可以这样做:

update table 
  set c = a * b

如果你需要的只是结果集中的新列,而不修改基础表,你可以:

select a, b, (a*b) as c from table

答案 1 :(得分:1)

是的,你可以完美地做到这一点。

<强>更新

澄清:您在问题中提到的查询和输出是正确的。

答案 2 :(得分:0)

不是将计算列存储在基表中,而是考虑查看表:

CREATE VIEW MyView
AS
SELECT a, b, 
       a * b AS my_calc
  FROM MyTable;