基于SQL Server条件插入和更改数据
我目前有表1,其中包括基于SQL Server条件插入和更改数据,sql,sql-server,insert,sql-update,case,Sql,Sql Server,Insert,Sql Update,Case,我目前有表1,其中包括 ID Gender 1 m 2 f 3 f 4 m 5 f 6 f 现在,我希望将这些数据插入第二个表(表2)。但基本上我是想用“男性”和“女性”来插入它。 例如,在表1中,当Gender='m'时,我想在第二个表(表2)中插入字符'Male',对于女性也一样 我创建了一些代码,例如 UPDATE Table2 SET Gender = ( CASE WHEN Table1.Gender = 'm' THEN 'Male' WHEN
ID Gender
1 m
2 f
3 f
4 m
5 f
6 f
现在,我希望将这些数据插入第二个表(表2)。但基本上我是想用“男性”和“女性”来插入它。
例如,在表1中,当Gender='m'时,我想在第二个表(表2)中插入字符'Male',对于女性也一样
我创建了一些代码,例如
UPDATE Table2
SET
Gender =
( CASE WHEN Table1.Gender = 'm' THEN 'Male'
WHEN Table1.Gender = 'f' THEN 'Female'
ELSE 'N/a'
END)
如果有帮助的话,我有一个SQL Fiddle模式-
谢谢如果要在第二个表中插入行,请使用
插入
,而不是更新
:
insert into table2(id, gender)
select t1.id,
(case when t1.gender = 'f' then 'female'
when t1.gender = 'm' then 'male'
end) as gender_expanded
from table1 t1;
通过使用
Case
表达式,您可以使用INSERT
语句而不是UPDATE
:
INSERT INTO table2
SELECT id,
CASE(Gender)
WHEN 'm'
THEN 'Male'
WHEN 'f'
THEN 'Female'
END
FROM table1;
结果(表2):
ID Gender
1 Male
2 Female
3 Female
4 Male
5 Female
6 Female