带有 SELECT 和 INNER JOIN 的 SQL INSERT INTO

标签 sql ms-access select insert inner-join

我希望你能帮我解决这个小问题。我不太确定如何向你解释这种情况,所以我就试一试。
我正在尝试做的是以下内容:
我想在表 RFC_Risks 中插入一些特定的值和参数(我自己输入),所以基本上每次我在表 RCF_Risks 中找到特定原因时,我都想写一个新行来更新 RfC 的优先级,每次发生这种情况时,位置应增加 1。
我现在的问题是,当我运行这个语句时,我只得到了 SELECT 部分:-),没有插入,我也没有得到 SQL 语句错误或类似的东西。我只是输入参数,然后我得到一个 SELECT表就是这样。
我正在使用 MS Access 2010,希望您能帮助我解决我的“小”问题。

INSERT INTO RFC_Risks (RFC_No, RiskPos, Datum, Comments, RiskPrio, Reason)
SELECT RFC_Risks.RFC_No, (RFC_Risks.RiskPos +1) AS RiskPos, [Aktuelles Datum] AS Datum, [Kommentartext] AS Comments, [Neue Prio] AS RiskPrio, RFC_Risks.Reason 
FROM RFC_Risks INNER JOIN Risk_Reasons ON RFC_Risks.Reason = Risk_Reasons.Reasontext 
WHERE RFC_Risks.Reason = Risk_Reasons.Reasontext;

最佳答案

我无法发现有关您的 SQL 语句的任何内容,这会阻止它执行和/或引发错误。 (我认为您的 WHERE 子句是多余的,但这不应该导致数据库引擎拒绝它。)您使用什么方法来“运行”它?

如果您正在使用 Access 查询设计器,并从设计 View 切换到数据表 View ,则您的查询实际上并未执行...数据表 View 将显示执行查询时会受到影响的行。

这种情况与您在查询设计器中构建删除查询的情况相同...数据表 View 将显示哪些行将被删除 如果 查询已执行,但切换到数据表 View 不会删除这些行。

要执行查询,请单击带有红色感叹号的图标。

关于带有 SELECT 和 INNER JOIN 的 SQL INSERT INTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7040390/

相关文章:

sql - 在查询中仅使用一列时多列 MySQL 索引的性能

sql - 动态选择要在 SELECT 语句中使用的列

c# - 在数据库中插入数据集记录

mysql - 计算同一个表上的行之间的平均时间差

mysql - 如何使用列名 "default"将数据插入数据库

MySQL SELECT 计算受到比其他 SELECT 字段更严格的标准 - 如何?

excel - Access 中的上限功能

java - 在java中从ms access jdbcodbc查询数据库的正确语法是什么

mysql - 显示相关记录 vb.net mysql

sql - Oracle Select查询请帮忙