對於我的標題含糊不清,表示抱歉,因爲我總是很難描述涉及SQL時需要完成的操作。我使用微軟訪問,我總共有3個表格:Credits,Orders和Books,如下所示。我需要創建一個更新查詢,根據他們訂購的書籍以及每本書的相應信用額度更新每個學生的現有信用數量。根據不同表中的值更新查詢以更改一個表中列的現有值
例如,學生B-17與24個學分啓動,但在更新查詢後,應該改變學生的學分32
積分表
Student ID Number of Credits
B-17 24
F-59 30
訂單表
Student ID Book ID
B-17 101
B-17 102
F-59 101
F-59 105
書籍表
Book ID Book Title Credits
101 English I 3
102 Accounting 5
105 Calculus 5
這是我正在嘗試,但我不斷收到Access中的語法錯誤。
UPDATE Credits c
SET [Number of Credits] = [Number of Credits] + (SELECT SUM(Credits)
FROM Orders o, Books b ON
o.[Book ID] = b.[Book ID] WHERE
c.[Student ID] = o.[Student ID])
WHERE c.[Student ID] = o.[Student ID];
[更新查詢以基於另一個表中的值更改一個表中列的現有值]的重複(https://stackoverflow.com/questions/45526753/update-query-to-change - 現有值列爲單一表 - 基於值) – Gustav
爲什麼Credits必須是表格,而不是選擇查詢? – tahwos