Обновление нового столбца SQL со значениями из таблицы - PullRequest
1 голос
/ 15 февраля 2012

Я использую 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;

Это приводит к следующей таблице:

enter image description here

Я понимаю, что значения вставляются как новые строки, но как я могу добавить их в качестве значений в мой столбец, чтобы таблица была структурирована следующим образом?

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

Ответы [ 4 ]

8 голосов
/ 15 февраля 2012

Вам нужно использовать UPDATE вместо INSERT таким образом в последней части запроса:

UPDATE test SET
testcalc = x + y

SELECT * FROM test
3 голосов
/ 15 февраля 2012

Вы должны использовать UPDATE вместо INSERT

UPDATE test
SET testcalc = x + y

См. http://www.w3schools.com/sql/sql_update.asp

2 голосов
/ 18 июня 2014

Синтаксис sql будет

Update tablename set newcolumn=old_col1+old_col2;
1 голос
/ 15 февраля 2012

Используйте команду обновления и не вставляйте!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...