Plsql
計算並返回總的估計可收費成本
我有一個關於分配給我的小任務的問題。下面我粘貼了問題和數據庫佈局的螢幕截圖。現在我只是不明白我到底要創建什麼,也許是使用者定義的函式?但是怎麼..
問題:計算並返回一個階段的總估計可收費成本,考慮到適用於不同任務的不同收費率(假設該階段的所有工作都已分配)。
數據庫佈局截圖:
http://tinypic.com/view.php?pic=2dtvg3l&s=5
(螢幕截圖) - 表數據來自:CHARGE_GRADE;任務類型;任務; CHARGE_GRADE;任務; 員工; (如果有幫助的話)。
對此進行了一次非常瘋狂的嘗試
我認為您要做的是匯總(求和)給定 stage_id 的值。您需要連結到任務表以獲取與舞台關聯的所有任務。從任務表中,您需要找出所有相關勞動者的費率。成本是estimate_hours * charge_rate,所以我們只是為每個唯一的stage_id 加起來。
SELECT S.stage_id , SUM(T.estimated_hours * CG.charge_rate) AS stage_estimated_cost FROM STAGE S INNER JOIN TASK T ON T.stage_id = S.stage_id INNER JOIN TASK_TYPE TT ON TT.task_type_no = T.task_type_no INNER JOIN CHARGE_GRADE CG ON CG.grade_no = TT.grade_no GROUP BY S.stage_id
如果您知道 stage_id 和正確的估計成本,請在 GROUP BY 語句之前的行中添加一個 WHERE 子句,以便類似於
WHERE S.stage_id = 10
測試查詢。如果我猜得不好,請用公式應該是什麼來修改問題。