我有一张类似下面的表格,
ID名称电子邮件性别
此表中已有值。
现在,我使用以下查询来添加年龄。
alter table tblPerson添加Age int
现在,我的行结构看起来像
ID姓名电子邮件性别年龄
现在,我有年龄列表。是否有任何查询将这些年龄添加到新创建的列中?
所有年龄都根据身份证排序。因此不需要IF逻辑。我只需要添加列数据。
感谢。
答案 0 :(得分:0)
将值存储在具有id的临时表中。然后使用join
:
update t join
idages ia
on t.id = io.id
set t.age = ia.age;
您也可以使用巨型case
表达式执行此操作,但这很容易出错:
update t
set t.age = (case when id = id1 then age1
when id = id2 then age2
when id = id3 then age3
. . .
end)
where t.age in (id1, id2, id3, . . .);