有没有一种方法可以将一列与另一列的预定义数字相乘?根据列中的值,使用多个预定义的数字。
例:
表
Columns: persons_id,activity,scale
价值观
1,swimming,4
1,baseball,2
1,basketball,3
2,swimming,6
2,basketball,3
如果我的预定义数字是:6(游泳),8(棒球),5(篮球)
输出看起来像这样
1,swimming,4,24
1,baseball,2,16
1,basketball,2,10
2,swimming,6,36
2,basketball,3,15
编辑:谢谢大家的贡献。我最终使用了sgeddes的解决方案。
最佳答案
当然可以使用CASE
:
SELECT Persons_Id, Activity, Scale,
Scale *
CASE
WHEN Activity = 'swimming' THEN 6
WHEN Activity = 'baseball' THEN 8
WHEN Activity = 'basketball' THEN 5
ELSE 1
END Total
FROM YourTable
祝好运。