我想知道是否有可能将两列相乘,如果是这样的话,会发生什么呢?
假设我有一张桌子
a b
1 4
2 5
3 6
我可以做点什么吗
SELECT a *b from table
这会逐行将内容相乘,然后将其存储在新列
中这些结果是否正确
4
10
18
答案 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;