我有3个SQL表。
StudentTable
,
FeeAssociationTable
和
InvoiceTable
.
具有主键
AdmissionNumber
,
具有主键
FeeAssociationID
和
InvioceTable
具有主键
InvoiceID
.
这个
可联想的
拿
受理号
并向其分配一笔费用,然后在存放费用时
可开票
拿
受理号
问题是;同样的
受理号
在InvoiceTable中可以有多行,
“我如何才能选择和计算每个受理号码(不重复)最近的所有费用。”
这是一些数据;
37 1 3000 January-2018 3000 0 2018-08-17
38 2 3000 January-2018 3000 0 2018-08-17
39 3 3000 January-2018 3000 0 2018-08-17
40 4 3000 January-2018 3000 0 2018-08-17
41 5 3000 January-2018 3000 0 2018-08-17
42 6 3000 January-2018 3000 0 2018-08-17
43 7 3000 January-2018 3000 0 2018-08-17
44 8 3000 January-2018 3000 0 2018-08-17
45 9 3000 January-2018 3000 0 2018-08-17
46 10 3000 January-2018 3000 0 2018-08-17
47 1 3200 June-2018 2500 700 2018-08-17
48 2 3200 June-2018 2500 700 2018-08-17
49 3 3200 June-2018 2500 700 2018-08-17
50 4 3200 June-2018 2500 700 2018-08-17
51 5 3200 June-2018 2500 700 2018-08-17
52 6 3200 June-2018 2500 700 2018-08-17
53 7 3200 June-2018 2500 700 2018-08-17
54 8 3200 June-2018 2500 700 2018-08-17
55 9 3200 June-2018 2500 700 2018-08-17
56 10 3200 June-2018 2500 700 2018-08-17
57 10 3700 July-2018 2500 1200 2018-08-17
58 9 3700 July-2018 2400 1300 2018-08-17
59 8 3700 July-2018 200 3500 2018-08-17
60 7 3700 July-2018 2000 1700 2018-08-17
61 1 3700 July-2018 1500 2200 2018-08-17
62 2 3700 July-2018 3100 600 2018-08-17
期望值:
我要每个学生最近的会费,不要加上以前的。
InvoiceId AdmissionNumber TotalFee Month Paid Dues Date
37 1 3000 January-2018 3000 0 2018-08-17
47 1 3200 June-2018 2500 700 2018-08-17
61 1 3700 July-2018 1500 2200 2018-08-17
有3个条目
AdmissionNumber 1
在InvoiceTable中。第一项没有到期,但第二项有700英镑的应付款,第三项有2200英镑的应付款
受理号1
我要做的是选择最后一个可以通过下面给出的代码来完成:
SELECT Dues FROM InvoiceTable AS IT
WHERE IT.InvoiceID = (SELECT MAX(InvoiceID)
FROM InvoiceTable WHERE AdmissionNumber = 1)
这是单曲,我要每个学生最近的会费清单。
提前谢谢