我需要知道如何为以下senario编写SQL语句;
我有一张表,由2列组成。 ParentName
和No_Of_Kids
。所以说我们有一个名为父A
的记录,而父A
有两个孩子。(2008年)
现在2011年,家长A
又有3个孩子,所以我需要更新此表,说父母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
答案 0 :(得分:2)
更新表的一般声明是:
UPDATE table
SET field = 'newValue'
WHERE otherfield = 'condition'
所以在你的情况下,这会:
UPDATE ParentKidsTable
SET No_Of_Kids = 5
WHERE ParentName = 'some_value'
这会将No_Of_Kids
更新为5 ParentName
等于some_value
。确保将字符串文字放在撇号之间。
如果您想为现有号码添加一定数量的孩子,您可以这样做:
UPDATE ParentKidsTable
SET No_Of_Kids = (No_Of_Kids + 3)
WHERE ParentName = 'some_value'
基本上是短的(并且更好):
UPDATE ParentKidsTable
SET No_Of_Kids = ((SELECT No_Of_Kids
FROM ParentKidsTable
WHERE ParentName = 'some_value') + 3)
WHERE ParentName = 'some_value'
答案 1 :(得分:2)
增加孩子数:
UPDATE ParentKidsTable
SET No_Of_Kids = No_Of_Kids + 3
WHERE ParentName = 'some_value'
答案 2 :(得分:1)
我假设您正在寻找添加N个孩子的一般情况,因此您不必首先查找No_Of_Kids值,在这种情况下您可以这样做:
UPDATE ParentKidsTable
SET No_Of_Kids = No_Of_Kids + 3
WHERE ParentName = 'some_value'