Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用SQL访问数据库_Sql - Fatal编程技术网

用SQL访问数据库

用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

我使用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) 创建第一个名为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