我正在使用 SQL通过我Inputted Value
的VAL
GUI 软件Siemens' WinCC
(我已经完成了用户键入24.5
和我的脚本显示与输入对应的值 30 的任务。我有一种情况,用户键入一个不在表中的值。与用户键一样,26.5
它应该输出 和 之间30
的插值35
。有什么建议么?
Inputted Value
24.5
28
25
VAL
30
35
44
我正在使用 SQL通过我Inputted Value
的VAL
GUI 软件Siemens' WinCC
(我已经完成了用户键入24.5
和我的脚本显示与输入对应的值 30 的任务。我有一种情况,用户键入一个不在表中的值。与用户键一样,26.5
它应该输出 和 之间30
的插值35
。有什么建议么?
Inputted Value
24.5
28
25
VAL
30
35
44
应该这样做(经过测试)(针对 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' 是用户键入值的参数。