查詢篇-按收取學(xué)費(fèi)的比例給老師發(fā)工資
2013年07月30日 09:03
點(diǎn)擊率:10961
|
之前的文章講過(guò)老師薪金計(jì)算的三種基本方法: http://denisedoxilly.com/docshow_c21_158.aspx其中第三種“按上課學(xué)員實(shí)際消耗的課時(shí)產(chǎn)出計(jì)算老師提成。”精度非常高,消耗資源大,并且要特殊配置。今天我們講的也是第三種,但是參數(shù)選擇不同所以實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單。單價(jià)參考的是學(xué)員最后一次交費(fèi)時(shí)的課時(shí)單價(jià),可以滿足大部分學(xué)校的需求。 主查詢: Select LessonDegree.TeacherID as 工號(hào), Users.TrueName as 姓名, sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)) as 金額, sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)) * 0.2 as 提成金額, LessonDegree.TeacherID as ShowKey from Attend,LessonDegree,StuClass,BillItem,Users where Attend.LessonDegreeID = LessonDegree.LessonDegreeID and Attend.StuClassID = StuClass.StuClassID and StuClass.LastBillItemID = BillItem.BillItemID and LessonDegree.TeacherID = Users.UserID and LessonDegree.StartDate >= {@StartDate:開(kāi)始日期} and LessonDegree.StartDate <= {@EndDate:結(jié)束日期} group by LessonDegree.TeacherID,Users.TrueName
子查詢: Select StuClass.StudentID as 學(xué)號(hào), StuClass.StudentName as 姓名, StuClass.ClassID as 班號(hào), StuClass.ClassName as 班名, Attend.Lessons as 課時(shí), BillItem.UnitPrice as 單價(jià), LessonDegree.StartDate as 日期 from Attend,LessonDegree,StuClass,BillItem where Attend.LessonDegreeID = LessonDegree.LessonDegreeID and Attend.StuClassID = StuClass.StuClassID and StuClass.LastBillItemID = BillItem.BillItemID and Attend.Lessons > 0 and LessonDegree.StartDate >= {@StartDate} and LessonDegree.StartDate <= {@EndDate} and LessonDegree.TeacherID = {@ShowKey} 統(tǒng)計(jì)某段時(shí)間學(xué)員所上課時(shí)的價(jià)值有一定的難度,因?yàn)閮?yōu)惠的客觀存在,并且某段時(shí)間內(nèi)存在學(xué)員多次購(gòu)買課時(shí)、并且單價(jià)不同的問(wèn)題。上面這段代碼選擇的是學(xué)員最后一次購(gòu)買課時(shí)的單價(jià)做為標(biāo)準(zhǔn)進(jìn)行構(gòu)造的, StuClass.LastBillItemID = BillItem.BillItemID 從這句條件語(yǔ)法可以看出來(lái)。 (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)這段代碼用于計(jì)算課時(shí)實(shí)際單價(jià)(去除優(yōu)惠后),因?yàn)閮?yōu)惠金額在系統(tǒng)里一直使用負(fù)數(shù)表達(dá),所以這里用原單價(jià)+優(yōu)惠單價(jià)=實(shí)際單價(jià)。 sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount))這段代碼表示學(xué)員上課課時(shí)數(shù) X 最后一次購(gòu)買課時(shí)的單價(jià) = 實(shí)際課時(shí)產(chǎn)值。 sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)) * 0.2 as 提成金額,這段代碼表示課時(shí)產(chǎn)出的20%用于老師的提成。根據(jù)學(xué)校的實(shí)際情況修改這里的0.2來(lái)調(diào)節(jié)提成比例。 (把以上代碼粘貼到《麥田培訓(xùn)學(xué)校管理軟件》查詢管理里,可直接使用)
|