MatrixXf a
嗨,
请在上面找到包含数据和sql语句的示例表。 我想创建一份报告,向那些没有付款的学生和那些没有全额支付该月总费用(描述=总费用)的学生,包括他们当月的未付金额。
我得到的结果只显示未完全支付未付金额总费用的学生,以及在tblReceipt中没有任何记录的学生。除了总费用之外,在tblReceipt中有记录的学生没有出现在结果中。
请在下面找到示例结果。
答案 0 :(得分:1)
如果是左连接,则无法对tblReceipt进行任何过滤。
您需要先构建一个查询,以便返回相关月份中每位学生的总费用收据:
SELECT student_id, Sum(receipt_amount) AS FeeReceipts
FROM tblReceipt
WHERE [description]='Total Fee' AND [month]=[Forms]![frmDialogMonth3]![cb_Month] AND [year]=[Forms]![frmDialogMonth3]![txt_Year]
GROUP BY student_id;
我称之为MonthFeeReceipts。然后在主查询中使用它:
SELECT tblStudent.student_id, monthly_fee, book_fee, FeeReceipts, [monthly_fee]+[book_fee]-Nz([FeeReceipts],0) AS Outstanding
FROM tblStudent LEFT JOIN MonthFeeReceipts ON tblStudent.student_id = MonthFeeReceipts.student_id;