我有一个表(TestTable),其数据如下
我需要根据 ColA、Age、Gender 列值创建一个计算列“Band”。像下面
CASE
WHEN ColA='A' AND AGE=1 AND GENDER='M' THEN 'BANDX90'
WHEN ColA='A' AND AGE=1 AND GENDER='F' THEN 'BANDX91'
.
.
.
.
WHEN ColA='A' AND AGE=65 AND GENDER='M' THEN 'BANDX18'
WHEN ColA='A' AND AGE=65 AND GENDER='F' THEN 'BANDX19'
WHEN ColA='B' AND AGE=1 AND GENDER='M' THEN 'BANDX39'
WHEN ColA='B' AND AGE=1 AND GENDER='F' THEN 'BANDX56'
ELSE NULL
END AS BAND
注意:我的用户/客户在 Excel 表中为我提供了不同WHEN 条件的 BAND 值('BANDX90',....) 。
上述 CASE 方法的缺点是,如果表中有 500 条记录,那么我必须使用CASE 'WHEN' STMT 500 TIMES
这不是一个好的选择。
有人在计算列时遇到过同样的情况吗?如果是,请分享您的建议!
我们还有其他方法可以做到这一点吗?