0
之前檢查兩個不同表格的總和我有圖片中的表格,我想要做的是確保學生不能在每個學年學習45分以上的課程。在INSERT
所以我想每次都在Studies
表中插入一些東西,這樣學生在Studies
和HasStudied
合計的總分不會在一年內超過45分。
所以,如果一個學生有40個組合在Studies
和HasStudied
,插入新行對於這名學生在Studies
表,這將導致他們得到超過45分應該是不可能的。
不知道我該怎麼做。
編輯
因爲我的講師避談數據庫的性能和這樣的,我做了以下。
我做插入正常,但插入完成後,我做了一個DELETE條件,檢查所以得分不等於或高於45我還希望它打印一條消息,如果刪除通過說:「學生不能學習更多的則45分)
我有以下的代碼,但它會刪除研究表或所有行,而不是等於45
DELETE FROM Studies
WHERE EXISTS (SELECT stID, SUM(sPoints) totalpoint
FROM (SELECT stID, sPoints
FROM Studies
UNION ALL
SELECT stID, sPoints
FROM HasStudied) derp
GROUP BY stID
HAVING SUM(sPoints) >= 45)
因爲我的講師沒有說任何有關性能的信息..我做了OP中陳述的內容,但仍然無法使其正常工作 –