“查询输入必须至少包含一个表或查询”添加“INSERT INTO”语句时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“查询输入必须至少包含一个表或查询”添加“INSERT INTO”语句时出错相关的知识,希望对你有一定的参考价值。
Expr1找到行中的最大数字,我想将其存储在“max num”字段中。
SELECT [impact test].num1, [impact test].num2, [impact test].num3, [impact test].[max num],
IIf([num1]>[num2] And [num1]>[num3],[num1],
IIf([num2]>[num1] And [num2]>[num3],[num2],
IIf([num3]>[num1] And [num3]>[num2],[num3],"Error"))) AS Expr1,
INSERT INTO [impact test] ([max num]) VALUES (Expr1)
FROM [impact test];
“查询输入必须包含至少一个表或查询”错误突出显示“(”在开始声明列存储值时。我尝试了几种不同的方式,例如
INSERT INTO [impact test].[max num] VALUES (Expr1)
INSERT INTO [impact test] (max num) VALUES (Expr1)
INSERT INTO [impact test].[max num] ([max num]) VALUES (Expr1)
INSERT INTO [impact test].[max num] (max num) VALUES (Expr1)
但是这些都没有。任何帮助是极大的赞赏。
编辑样本数据和所需结果:
num1 num2 num3 [max num]
2 5 1 5
3 4 6 6
7 3 4 7
我只想存储[max num]字段中每行的最高编号。我尝试查找其他方法,但它们只有最大列,而不是行。
答案
我想你想要一个update
而且没有聚合函数:
UPDATE [impact test]
SET [max num] = IIf([num1] > [num2] And [num1] > [num3], [num1],
IIf([num2] > [num1] And [num2] > [num3], [num2],
IIf([num3] > [num1] And [num3] > [num2], [num3], "Error")
)
);
您可以将逻辑简化为:
UPDATE [impact test]
SET [max num] = SWITCH([num1] > [num2] And [num1] > [num3], [num1],
[num2] > [num3], [num2],
[num3]
);
我不认为"Error"
值有助于任何事情。它只会导致类型混乱。
以上是关于“查询输入必须至少包含一个表或查询”添加“INSERT INTO”语句时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MS Access 中向 SQL 查询添加自定义行?
c_cpp 给定排序数组和目标值,如果找到目标,则返回索引。如果不是,则返回索引,如果它是inse,则返回它
无法下载图片 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is inse