Sid*_*idC 2 sql t-sql sql-server stored-procedures sql-server-2005
我有一个包含RACE,ETHNICITY和ETH字段的数据库表.我需要评估RACE和ETHNICITY字段并使用一系列案例填充ETH:如果Race = W且Ethncity = 1则ETH =高加索人等.
有人可以告诉我构建存储过程的最佳方法来实现这一目标吗?
我在你的更新中做了一个CASE语句:
UPDATE yourtable
SET Eth = CASE
WHEN Race = 'W' AND Ethnicity = 1 THEN 'Caucasian'
WHEN Race = 'B' AND Ethnicity = 2 THEN 'African-American'
WHEN Race = 'H' THEN 'Hispanic' --Ethnicity is irrelevant
...whatever other pairs of conditions you want...
END
FROM yourtable
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以在case语句的每一行中拥有所需的条件.在某些行中,您可以执行两个条件(如前两行),而在其他行中,您可以执行一个(如第三行中所示).