有没有一种方法可以将一列与另一列的预定义数字相乘?根据列中的值,使用多个预定义的数字。

例:



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


祝好运。

09-30 09:20