根据列名计算值

时间:2017-02-03 18:29:20

标签: sql amazon-redshift

我需要三个表来计算一些因素。表格的格式如下:

t1: id |  height    | weight     | ..
     1 |     180    |    190     | ..

t2: id | adjustmentFactor
     1 |   0.05

t3: attribute | multOrDivide
     height   |     1
     weight   |     0

我需要在表格的这些表格上生成一个视图:

id | adjustedHeight | adjustedWeight...
 1 |     9          |      3800

其中

adjustedAttribute = 
attribute * adjustmentFactor, if multOrDivide = 1 for that attribute,
attribute / adjustmentFactor, if multOrDivide = 0 for that attribute

有没有办法根据SQL查询中的attributeName应用这两种调整形式?

1 个答案:

答案 0 :(得分:0)

不,不可能将列名用作逻辑语句的一部分。您的应用程序需要构造一个专门插入这些值的SQL语句。