操作篇-判斷明天哪些學(xué)員在校就餐(即交了餐費(fèi))
2013年07月21日 08:10
點(diǎn)擊率:9235
|
分析如下:
首先要計算出明天上課學(xué)員信息 然后才能判斷是否應(yīng)當(dāng)在校吃飯
首先我們來看一下判斷某段日期內(nèi)上課學(xué)員的代碼:
Select distinct StuClass.StudentID, StuClass.StudentName from LessonDegree,StuClass where LessonDegree.ClassID = StuClass.ClassID and StuClass.ScStateID in (1,2) and StuClass.Lessons > StuClass.CourseProgress and LessonDegree.DateAndTime >= {@StartDate:開始日期} and LessonDegree.DateAndTime >= {@EndDate:結(jié)束日期}
這段代碼通過分析某段時間內(nèi)的排課信息,關(guān)聯(lián)學(xué)員選班信息,然后過濾重復(fù)數(shù)據(jù),來實現(xiàn)某段時間內(nèi)上課學(xué)員的推測。其中StuClass.ScStateID in (1,2)表示學(xué)員的選班狀態(tài)一定要處于正常狀態(tài),StuClass.Lessons > StuClass.CourseProgress表示學(xué)員所購買的課程并沒有上完,distinct過濾重復(fù)的數(shù)據(jù)。
查詢某學(xué)員在某時間內(nèi)是否交過某費(fèi)用代碼:
Select count(*) from BillItem,Bill where Bill.BillID = BillItem.BillID and BillItem.ProductType = 2 and BillItem.ProductID = 18 and Bill.DateAndTime > #2012-6-1# and Bill.DateAndTime < #2012-9-1# and Bill.StudentID = 201300001
BillItem.ProductID 指明需要查詢的收費(fèi)項編號,Bill.DateAndTime > #2012-6-1#,Bill.DateAndTime > #2012-9-1#控制交費(fèi)的時間范圍,這是ACCESS語法,MS SQL需要將#號替換成’號即可。Bill.StudentID = 201300001表示查詢的學(xué)員學(xué)號。
我們將兩段代碼進(jìn)行整合:
Select StudentID as 學(xué)號, StudentName as 姓名
from
( Select distinct StuClass.StudentID, StuClass.StudentName,
( Select count(*) from BillItem,Bill where Bill.BillID = BillItem.BillID and BillItem.ProductType = 2 and BillItem.ProductID = 18 and Bill.DateAndTime > #2012-6-1# and Bill.DateAndTime < #2012-9-1# and Bill.StudentID = StuClass.StudentID ) as Num
from LessonDegree,StuClass where LessonDegree.ClassID = StuClass.ClassID and StuClass.ScStateID in (1,2) and StuClass.Lessons > StuClass.CourseProgress and LessonDegree.DateAndTime >= {@StartDate:開始日期} and LessonDegree.DateAndTime >= {@EndDate:結(jié)束日期}
) as tb where Num > 0
首先我們將“查詢某學(xué)員在某時間內(nèi)是否交過某費(fèi)用”的代碼做為一個子查詢加入到上課學(xué)員信息中,并且以一個虛擬列“Num”存在。然后我們再將整個查詢虛擬成一張表名稱為“tb”,最后查詢tb表,條件是Num大于0(表示至少交了一次午餐費(fèi)),這樣我們就能夠精準(zhǔn)的分析出明天需要在學(xué)校就餐的學(xué)員信息,為食堂人員提供了方便。
(把以上代碼粘貼到《麥田培訓(xùn)學(xué)校管理軟件》查詢管理里,可直接使用)
|