SQL INSERT INTO与SELECT和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查询设计器,并从设计视图切换到数据表视图,则您的查询实际上并未执行......数据库视图将显示在执行查询时会受到影响的行。

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

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


尝试将括号内的子选择符括起来。


你需要执行你的查询。 如果您只在数据表视图中显示它,则会执行SELECT语句并将其显示为一种预览。

要真正执行查询,当处于设计模式时,可以单击工具栏中的“运行”按钮(红色感叹号)。 您也可以双击数据库窗口中的查询。

链接地址: http://www.djcxy.com/p/54195.html

上一篇: SQL INSERT INTO with SELECT and INNER JOIN

下一篇: Why the super class is empty when define child class?