2012-01-06 4 views
1

다음 senario에 대한 SQL 문 작성 방법을 알아야합니다.SQL Update 문 작성

나는 2 개의 컬럼으로 구성된 테이블을 가지고있다. ParentNameNo_Of_Kids. 그래서 부모 A 다른 세 아이를 가지고 2011 년

지금 (2008 년). 우리는 부모 A 부모 A 2 아이했다라는 기록이 있다고, 그래서 내가 부모 A 5 아이가 말을,이 테이블을 업데이트해야 전부. 테이블을 업데이트 할

UPDATE ParentKidsTable 
SET parentName=value, No_Of_kids=??? // (how to write the SQL no. of Kids in 2008 + no. of kids in 2011) 
WHERE parentName=some_value 
+1

parentName을 다시 설정하는 이유는 무엇입니까? – Manish

+0

오 예. 나는 그것을 제거해야한다 – Illep

답변

1

나는 당신이 N 아이를 추가하는 일반적인 경우를 찾고 있다고 가정하고 있습니다. 어떤 경우에는 No_Of_Kids 값을 찾아야합니다.

UPDATE ParentKidsTable 
SET No_Of_Kids = No_Of_Kids + 3 
WHERE ParentName = 'some_value' 
2

일반 문은 다음과 같습니다

UPDATE table 
SET field = 'newValue' 
WHERE otherfield = 'condition' 

그래서 귀하의 경우이 만들어 다음 ParentNamesome_value 동일 곳

UPDATE ParentKidsTable 
SET No_Of_Kids = 5 
WHERE ParentName = 'some_value' 

이것은 No_Of_Kids 5를 업데이트 할 것입니다. 아포스트로피 사이에 문자열 리터럴을 넣어야합니다.

당신은 아직 기존의 수에 아이들의 특정 번호를 추가 할 경우, 당신은 할 수 있습니다 :

UPDATE ParentKidsTable 
SET No_Of_Kids = ((SELECT No_Of_Kids 
        FROM ParentKidsTable 
        WHERE ParentName = 'some_value') + 3) 
WHERE ParentName = 'some_value' 
+0

또는'SET No_Of_Kids = No_Of_Kids + 3' –

+0

아니, 나는 2011 년에 아이들의 수를 알고있다. (3), 그래서 나는 이전의 2 명의 아이들을 새로운 아이들 (3)과 추가해야한다. 5로 업데이트하십시오. 어떻게해야합니까? – Illep

+0

사실 나는 이전에 저장된 값에 Value를 추가하려고합니다. 2 + 3 = 5 – Illep

2

하는 숫자를 증가 : 기본적으로 짧은 (더 나은)입니다

UPDATE ParentKidsTable 
SET No_Of_Kids = (No_Of_Kids + 3) 
WHERE ParentName = 'some_value' 

of kids :

UPDATE ParentKidsTable 
SET No_Of_Kids = No_Of_Kids + 3 
WHERE ParentName = 'some_value'