开发者

SQL INSERT INTO with SELECT and INNER JOIN

开发者 https://www.devze.com 2023-03-28 04:49 出处:网络
I hope you can help me with this little problem. I am not quite sure of how to explain the situation to you, so I will just give it a try.

I hope you can help me with this little problem. I am not quite sure of how to explain the situation to you, so I will just give it a try.

What I am trying to do is the following:

I want to i开发者_运维知识库nsert some specific values and parameters (which I type in myself) into the table RFC_Risks, so basically every time I find a specific reason inside the table RCF_Risks, I want to write a new row that updates the priority of the RfC, every time that happens, the position shall be increased by 1.

My problem is now, that when I run this statement, I just get the SELECT part :-), not inserting is done, neither do I get a SQL statement error or anything like that. I just type in the parameters and then I get a SELECT Table thats all.

I'm using MS Access 2010 and I hope you can help me out with my "little" problem.

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;


I can't spot anything about your SQL statement which would prevent it from executing and/or throw an error. (I think your WHERE clause is redundant, but that should not cause the db engine to reject it.) What method are you using to "run" it?

If you're using the Access query designer, and switch from Design View to Datasheet View, your query isn't actually executed ... Datasheet View will show you the rows which would be affected if the query were executed.

The situation is the same as if you were building a delete query in the query designer ... Datasheet View would show you which rows would be deleted if the query were executed, but switching to Datasheet View does not delete those rows.

To execute the query, click the icon which has a red exclamation point.


Try enclosing the subselect in parentheses.


You need to execute your query. If you only display it in Datasheet View, the SELECT Statement is executed and displayed to you as a kind of preview.

To really execute the query, when you are in design mode, you can click on the "Run" button (a red exclamation mark) in the toolbar. You can also double-click on the query in the database window.

0

精彩评论

暂无评论...
验证码 换一张
取 消