【发布时间】:2010-12-08 23:43:54
【问题描述】:
假设我有 3 张桌子:
Student (
student_id,
student_type_id,
start_date,
end_date
)
RequiredAssignments (
student_type_id,
monthly_assignments_required
)
Assignment (
student_id,
datecompleted
)
基本上,在RequiredAssignments 表中,monthly_assignments_required 字段是一个整数,表示每个给定类型的学生每个月必须交多少作业。
我想构建一个查询,列出一个学生、一个月、需要多少作业以及每个学生上交多少作业,在给定开始日期和结束日期的每个学生之间的每个月。
我现在无法在开始和结束日期(包括)之间的每个月列出 student_id...
感谢您的帮助。
【问题讨论】:
-
每个月的“monthly_assignments_required”是否相同?对我来说,您的RequiredAssignments 表上似乎缺少一个“月份”或类似的东西......或者您怎么知道每个学生类型在给定月份有多少作业??
-
总是一样的......类型 1 的学生总是必须每月提交 4 份作业,类型 2 的学生总是每月提交 3 份作业,依此类推。
-
你能告诉我们你的查询到目前为止是什么样子吗?
-
您想要将月份作为交叉表之类的列,还是想要一个行列表?前者仅适用于单个学生查询。
-
绝对是一个行列表,这最终将不得不生成一个 SSRS 报告,并且交叉表在那里不会有太大用处。
标签: sql sql-server tsql