我有一个sql查询,它按如下方式计算字段:
Select
Case When b.xField > 10
then 20
when b.xField > 48
then 10
else 0
end as field1
from (Select CASE WHEN numberChosen < 15
THEN 10
WHEN numberChosen > 15
THEN 48
END as xField
From secondTable) B
我需要的是,当field1是10时,再做一些其他的计算来保存在另一个字段上。
例如:
then 20 AND field2 = yData - 26
所以当情况是20时,另一个字段等于ydata-26。这可以通过sql中的cases实现吗?是否在一个案例中计算了两个字段?
2条答案
按热度按时间lmyy7pcs1#
您可以使用基本逻辑来决定
field1 = 10
(即。xField > 48
)在第二种情况下:我改变了你案子的顺序因为
> 10
试验前状态> 48
条件永远不会让> 48
被击中。yx2lnoni2#
我想在一个例子中计算两个场
你不能那样做™.
您可以像这样在查询中放置两个case子句:
或者,如果很难计算field2,可以在 Package 器查询中生成额外的字段值