根据条件SQL Server插入和更改数据

Rya*_*don 2 sql sql-server insert case sql-update

我目前有Table1包括

 ID Gender
 1  m
 2  f
 3  f
 4  m
 5  f
 6  f
Run Code Online (Sandbox Code Playgroud)

现在我希望将这些数据插入第二个表(表2).但基本上我试图插入"男性"和"女性"这两个词.因此,例如当表1中的Gender ='m'时,我想将char'男性'插入到第二个表(table2)中,并将其插入到女性中.

我创建了一些代码,如

 UPDATE Table2
 SET 
 Gender =
 ( CASE WHEN Table1.Gender = 'm' THEN 'Male'
 WHEN Table1.Gender = 'f' THEN 'Female'
 ELSE 'N/a'
 END)
Run Code Online (Sandbox Code Playgroud)

如果有任何帮助,我有一个SQL Fiddle架构 -

http://sqlfiddle.com/#!9/8a3080

谢谢

Yog*_*rma 7

您可以使用INSERT语句而不是UPDATE使用Case表达式:

INSERT INTO table2
       SELECT id,
              CASE(Gender)
                  WHEN 'm'
                  THEN 'Male'
                  WHEN 'f'
                  THEN 'Female'
              END
       FROM table1;
Run Code Online (Sandbox Code Playgroud)

结果(表2):

ID  Gender
1   Male
2   Female
3   Female
4   Male
5   Female
6   Female
Run Code Online (Sandbox Code Playgroud)