sql - 根据 IIF 语句的结果插入
问题描述
我想要INSERT
的结果
SELECT G.Results
FROM (SELECT IIf([Forms]![Login]![User_Name]=[C_Customers].[user_name]
And
[Forms]![Login]![Password]=[C_Customers].[Password]
,"Login Successful"
,"Login Failed") AS Results
FROM C_Customers) AS G
WHERE ((G.Results)="Login Successful");
[Forms]![Login]![User_Name] 和 [Forms]![Login]![Password] 来自要求您输入用户名和密码的表单。IFF 语句将您的用户输入与这些字段进行比较,并在表中查找匹配项。此查询成功。我想INSERT
将结果放入 LOGIN_RESULTS 表的 LOGIN FIELD。我试试这个:
INSERT INTO Login_results (login)
SELECT G.Results
FROM (SELECT IIf([Forms]![Login]![User_Name]=[C_Customers].[user_name]
And
[Forms]![Login]![Password]=[C_Customers].[Password],"Login Successful","Login Failed") AS Results FROM C_Customers) AS G
WHERE ((G.Results)="Login Successful");
但是,数据永远不会出现在表中。Login_Results
为空,只有一个字段,Login
。
编辑:那是随机的。我唯一更改的是表的名称从“Login_Results”更改为“Login_Status”,字段从“Results”更改为“Status”,因为我更喜欢它。突然它现在附加了。为什么?我不知道。
这是由于某种原因现在运行的代码。
Insert into Login_Status (Status)
SELECT G.Results
FROM (SELECT IIf([Forms]![Login]![User_Name]=C_Customers.user_name
And
[Forms]![Login]![Password]=C_Customers.Password
,"Login Successful"
,"Login Failed") AS Results
FROM C_Customers) AS G
WHERE (((G.Results)="Login Successful")) OR (((G.Results)="Loggin Failed"));
新线程主题:我做了什么突然使代码运行的更改?它从未抛出“找不到表/字段”错误,所以我不明白为什么更改目标字段/名称会起作用。
解决方案
您不能尝试使用 EVAL 进行多重比较IIf function
我仍然无法弄清楚您要在表中保存什么 - 没有任何登录成功插入的客户信息。但也许你只是想证明一个概念
我还认为您的 WHERE 子句中有错字(G.Results)="Loggin Failed"
- 应该是这样Login Failed
吗?
这可能会扭曲你的结果
在任何情况下,您都可以使用 EVAL 尝试此示例
INSERT INTO Login_Status (Status)
SELECT G.Results
FROM
(SELECT
IIf(EVAL(([Forms]![Login]![User_Name]=C_Customers.user_name) AND ([Forms]![Login]![Password]=C_Customers.Password)),
"Login Successful", "Login Failed")
AS Results
FROM C_Customers) AS G
WHERE (G.Results="Login Successful") OR (G.Results="Login Failed");
推荐阅读
- python - 是否有更简单的方法来获取张量的切片,如下例所示?
- c# - 如何在 C# .Net Core 中向 API 发送 React-native Post 请求(ImagePicker)
- java - 如何根据 USB 端口的连续扫描结果动态更新 JTextArea?
- c - 在 UNIX 环境中创建守护进程
- java - NoClassDefFoundError,但eclipse中存在maven依赖
- java - 如果像这样 int a=10,b=3,m; 声明局部变量,为什么不初始化局部变量没有编译时错误?
- laravel - 与 Google 进行交叉检查时,PHP 小时数是不同的
- arrays - 数组中前k个频繁元素的时空复杂度
- jekyll - 我可以在 Jekyll Algolia 中使用更严格的密钥吗?
- machine-learning - 基于内容与基于协作的过滤?