使用SQL访问数据库

时间:2013-04-14 13:08:45

标签: sql

我正在使用SQL通过我的GUI软件(Inputted Value)访问数据库(下面的表格显示了两列VALSiemens' WinCC)。我已经完成了24.5中的用户键和我的脚本显示对应于输入的值30的任务。我有一个用户键在一个值不在表中的情况。与26.5中的用户密钥一样,因此它应在3035之间输出内插值。有什么建议吗?

Inputted Value
24.5
28
25

VAL
30
35
44

1 个答案:

答案 0 :(得分:1)

这应该做(测试)(针对MS Access进行修订):

1)创建一个名为interpolation_left的第一个查询:

SELECT TOP 1 1 AS id, [val] AS val_left
FROM TABS
WHERE [Inputted Value] < 'key'
ORDER BY [Inputted value] DESC;

2)创建第二个名为interpolation_right的查询:

SELECT TOP 1 1 AS id, [val] AS val_right
FROM TABS
WHERE 'key' < [Inputted Value]
ORDER BY [Inputted value];

3)通过将前两个查询放在一起来创建最终查询

SELECT (val_left + val_right) / 2 as result
FROM   interpolation_left
INNER JOIN  interpolation_right
ON interpolation_left.id = interpolation_right.id

'key'是具有用户键入值的参数。