我有一个包含字段 RACE、ETHNICITY 和 ETH 的数据库表。我需要评估 RACE 和 ETHNICITY 字段并使用一系列案例填充 ETH: 如果 Race = W 和 Ethncity = 1 那么 ETH = Caucasian 等等。
有人可以建议我构建存储过程以实现此目的的最佳方法吗?
最佳答案
我会在您的更新中做一个 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
在这种情况下,您可以在 case 语句的每一行上设置您想要的任何条件。在某些行中,您可以执行两个条件(如前两行),而在其他行中,您可以执行一个(如第三行)。
关于sql - 根据其他两个字段中的值更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1568073/