用SQL访问数据库
我使用SQL通过我的GUI软件(用SQL访问数据库,sql,Sql,我使用SQL通过我的GUI软件(Siemens'WinCC)访问数据库(下表中有两列Inputed Value和VAL)。我已经完成了一项任务,用户输入24.5,我的脚本显示与输入相对应的值30。我有一个例子,用户输入了一个不在表中的值。与26.5中的用户键类似,它应该输出30和35之间的插值。有什么建议吗 Inputted Value 24.5 28 25 VAL 30 35 44 这应该可以做到(已测试)(针对MS Access进行了修订): 1) 创建第一个名为interpolatio
Siemens'WinCC
)访问数据库(下表中有两列Inputed Value
和VAL
)。我已经完成了一项任务,用户输入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;
“key”是用户键入值的参数。您使用的是哪种DBMS?博士后?Oracle?哪个
VAL
对应哪个输入值
?这个问题不清楚。我正在使用access数据库。输入值28应该从VAL列中输出35。我的答案最终解决了吗?很高兴有反馈…亲爱的koriander,非常感谢您的回复。我尝试了上面的代码,但它对我不起作用。我在上面的代码中为我的案例替换了数据库的所有参数。我的表名是“TAGS”,列名分别是“input Value”和“VAL”。但它不起作用。亲爱的Koriander,前两条语句运行良好,但当我运行最后一条语句时,它会给我错误,它无法识别“插值”一词。请说明语法是否正确?是的,上述内容是正确的。也许你把下划线和负号混在一起了?亲爱的Koriander,我肯定没有把负号和下划线混在一起。我已在三行中粘贴了与我的SQL查询窗口中相同的代码,并收到弹出的错误消息:“Microsoft Access引擎数据库找不到输入表或查询‘插值左’。确保它存在并且拼写正确。如何向您发送我的查询条目和错误的屏幕截图?您需要在Access中创建并保存两个名为interpolation_left和interpolation_right的前两个查询。然后第三个查询将工作(我已经按原样测试了它,将“key”替换为26.5)。
SELECT TOP 1 1 AS id, [val] AS val_right
FROM TABS
WHERE 'key' < [Inputted Value]
ORDER BY [Inputted value];
SELECT (val_left + val_right) / 2 as result
FROM interpolation_left
INNER JOIN interpolation_right
ON interpolation_left.id = interpolation_right.id