2012-02-15 4 views
1

SQL을 사용하여 기본 계산을 수행하는데 올바른 구문을 파악할 수 없습니다. 새 열을 추가하고 기존 값의 조합을 사용하여 해당 열의 값을 채우려는 테이블이 있습니다. 여기에 문제를 설명하는 코드가 있습니다.테이블의 값으로 새 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 
+0

아있을 것입니다 사용해야합니다. 보다 정교한 쿼리를 수행하고 있지만 테이블을 내 결과로 업데이트하는 방법을 알지 못했습니다! 'SQL'의 세계에서 많은 것을 배우십시오! – djq

답변

8

당신은 쿼리의 마지막 부분에서 같은 방법으로 INSERT 대신 UPDATE를 사용해야합니다 :

UPDATE test SET 
testcalc = x + y 

SELECT * FROM test 
+0

좋은데, 너는 6 초 만에 나를 때렸어 .. –

3

당신은 정말 내 예는 사소한 데이터를 포함, SQL의 구문은

Update tablename set newcolumn=old_col1+old_col2; 
2

를 참조 UPDATE 대신

UPDATE test 
SET testcalc = x + y 

INSERT 경우

관련 문제