我需要在我的一张桌子(贷款)上获得一个总计,其中有多个用户ID'具有相同的ID,因此用户可以获得多本书但alsmo意味着他们可以对不同的书籍进行多次罚款(如下图所示)
我想列出每个用户,然后列出他们欠的总罚款,但我无法弄清楚如何。
继承我的PATRON(用户)数据库以及参考
我已经使用了所有用户和书籍,而且我不确定如何能够为下一个目标做类似的事情
SELECT PATRON.Name, BOOK.CallNo, BOOK.Title, BOOK.Subject
FROM (BOOK INNER JOIN LOAN ON BOOK.CallNo = LOAN.CallNo) INNER JOIN PATRON ON LOAN.UserID = PATRON.USerID;
答案 0 :(得分:1)
SELECT PATRON.Name,
BOOK.CallNo,
BOOK.Title,
BOOK.Subject,
SUM(LOAN.Fine) AS TotalFine
FROM BOOK,
LOAN,
PATRON
WHERE BOOK.CallNo = LOAN.CallNo
AND LOAN.UserID = PATRON.USerID
GROUP BY PATRON.USerID;
答案 1 :(得分:0)
嗯,人们只能猜测其他两个表中的数据类型,因为你没有给我们一个屏幕截图,所以我会给出最基本的答案并从那里开始工作。
我想列出每个用户,然后列出他们欠的总罚款
SELECT LOAN.UserID,
Sum(LOAN.Fine) AS SumOfFine
FROM LOAN
GROUP BY LOAN.UserID;
从那里,如果您需要来自PATRON
表的信息(假设它存储UserID
),您可以执行INNER JOIN
,它看起来像:
SELECT LOAN.UserID,
Sum(LOAN.Fine) AS SumOfFine,
PATRON.[Name],
PATRON.Age
FROM LOAN
INNER JOIN PATRON
ON LOAN.UserID = PATRON.UserID
GROUP BY LOAN.UserID, PATRON.[Name], Patron.Age;
我不确定如何设置BOOK
表。