我想在sql中实现这个等式:
f(x) = f(a) + (f(b)-f(a)) * (x-a)/(b-a)
我的输入如下:
我尝试的是:
select ((select CosValue from CosineTable where Angle=70) +
((select CosValue from CosineTable where Angle=75) -
(select CosValue from CosineTable where Angle=70)) * (73-70) / (75-70)
from CosineTable;
它向我显示语法错误。
答案 0 :(得分:0)
您缺少一个结束括号)
试试这个:
SELECT ( ( SELECT CosValue
FROM CosineTable
WHERE Angle = 70
) + ( ( SELECT CosValue
FROM CosineTable
WHERE Angle = 75
) - ( SELECT CosValue
FROM CosineTable
WHERE Angle = 70
) ) * ( 73 - 70 ) / ( 75 - 70 ) )
FROM CosineTable;
但只有在Subselects中总是得到一个值时,它才有效。
答案 1 :(得分:0)
假设您的表中每个角度只有一行,您可以使用交叉连接简化查询:
select a70.cosvalue + (a75.cosvalue - a70.cosvalue) * (73-70) / (75-70))
from CosineTable a70
cross join cosinetable a75
where a70.angle = 70
and a75.angle = 75;