使用表中的值更新新SQL列

使用表中的值更新新SQL列,sql,insert,Sql,Insert,我正在使用SQL来执行一个基本的计算,但我无法找出正确的语法。我有一个表,希望在其中添加一个新列,并使用现有值的组合填充该列的值。下面是我用来说明问题的代码 -- create a table CREATE TABLE test ( x numeric(10,3), y numeric(10,3) ); -- add some sample values INSERT INTO test (x,y) VALUES( 7,3 ); INSERT INTO test (x,y) VALUES( 8

我正在使用SQL来执行一个基本的计算,但我无法找出正确的语法。我有一个表,希望在其中添加一个新列,并使用现有值的组合填充该列的值。下面是我用来说明问题的代码

-- create a table
CREATE TABLE test (
x numeric(10,3),
y numeric(10,3)
);

-- add some sample values
INSERT INTO test (x,y) VALUES( 7,3 );
INSERT INTO test (x,y) VALUES( 8,4 );

-- add a new column
ALTER TABLE test ADD testcalc numeric(10,3);

-- values in new column (testcalc) using the sum of values from x and y
INSERT INTO 
    test (testcalc) 
SELECT 
    t.x + t.y
FROM
    test as t;
这将生成下表:

我知道这些值是作为新行插入的,但是我如何才能将它们作为值添加到我的列中,从而使表的结构如下所示

x | y | testcalc
7 | 3 | 10
8 | 4 | 12

您需要在查询的最后一部分使用
UPDATE
而不是
INSERT

UPDATE test SET
testcalc = x + y

SELECT * FROM test

您需要在查询的最后一部分使用
UPDATE
而不是
INSERT

UPDATE test SET
testcalc = x + y

SELECT * FROM test

使用update命令而不是Insert

使用更新命令而不是插入

如果
INSERT

UPDATE test
SET testcalc = x + y

参见如果
插入

UPDATE test
SET testcalc = x + y

请参见

sql的语法将是

Update tablename set newcolumn=old_col1+old_col2;

sql的语法将是

Update tablename set newcolumn=old_col1+old_col2;

啊,所以我的例子涉及一些琐碎的数据。我正在执行一个更复杂的查询,但不知道如何用我的结果更新表!在
SQL
的世界里,有很多东西需要学习!啊,所以我的例子涉及一些琐碎的数据。我正在执行一个更复杂的查询,但不知道如何用我的结果更新表!在
SQL
的世界里,有很多东西需要学习!