簡體   English   中英

SQL INSERT INTO SELECT 和 INNER JOIN

[英]SQL INSERT INTO with SELECT and INNER JOIN

我希望你能幫我解決這個小問題。 我不太確定如何向您解釋這種情況,所以我將嘗試一下。

我想做的是以下幾點:

我想將一些特定的值和參數(我自己輸入)插入到表 RFC_Risks 中,所以基本上每次我在表 RCF_Risks 中找到特定原因時,我都想寫一個新行來更新 RfC 的優先級,每次發生這種情況時,position 應增加 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 語句並作為一種預覽顯示給您。

要真正執行查詢,當您處於設計模式時,您可以單擊工具欄中的“運行”按鈕(紅色感嘆號)。 也可以雙擊數據庫window中的查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM