SQL的問題(編號:5312)

Table Product : ProductID, Month, Week, Date
Table Defect : ProductID, DefectCode
在Defect Table中,每個ProductID可能對應了0 到 5個DefectCode,總共有約40-50種不同的Code,現在我要算出各種DefectCode每個月, 日星期的數量及比例, 該如何做最有效率?
我以前是先建一個Cross Table,每一個DefectCode都有一個欄位,是否還有別的方法?