Mysql 从一个引用另一个ID的表中获取总计
我需要在我的一个表(贷款)上得到一个总数,该表有多个具有相同id的“userid”,因此一个用户可以获得多本书,但也意味着他们可以对不同的书处以多笔罚款(如下图所示) 我想列出每个用户,然后列出他们所欠的罚款总额,但我不知道怎么做 这是我的用户数据库,也可供参考 我已经使用了所有的用户和书籍,我不知道如何才能在下一个目标中做类似的事情Mysql 从一个引用另一个ID的表中获取总计,mysql,sql,ms-access,Mysql,Sql,Ms Access,我需要在我的一个表(贷款)上得到一个总数,该表有多个具有相同id的“userid”,因此一个用户可以获得多本书,但也意味着他们可以对不同的书处以多笔罚款(如下图所示) 我想列出每个用户,然后列出他们所欠的罚款总额,但我不知道怎么做 这是我的用户数据库,也可供参考 我已经使用了所有的用户和书籍,我不知道如何才能在下一个目标中做类似的事情 SELECT PATRON.Name, BOOK.CallNo, BOOK.Title, BOOK.Subject FROM (BOOK INNER JOIN
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;
好的,我们只能猜测其他两个表中的数据类型,因为您没有给我们它们的屏幕截图,所以我将给出最基本的答案,然后从那里开始计算 我想列出每个用户,然后列出他们所欠的罚款总额 从那里,如果您需要
用户
表中的信息(假设它存储了用户ID
),您可以执行内部联接
,它看起来像:
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
表。join子句中的括号表示MS Access,但您应该根据实际使用的数据库清楚地标记问题。我不确定您的意思,我想使用一个类似于我在最后列出的MySQL语句来实现我的下一个目标,但我无法解释,我不知道你说的是什么意思,我对SQL语句很有经验,对access的了解更少。您已经用两个数据库标记了这个问题:MySQL和MS Access。您不太可能同时使用这两种方法。删除其中一个标签。我正在使用MySQL语句,主要是了解到了这一点,但对于这个大小,我使用的是AccessThis(我不认为)正是我的意思。我的意思是,我想列出每个用户以及他们欠下的罚款总额,这(从外观上看)只是得到了可能欠下的书籍和贷款,或者是欠下的总额(虽然这些数字是相同的,不是吗?)让我直截了当地说,你想得到一个特定用户的总罚款,并显示他们的姓名、CallNo、书名(本书的)、主题(本书的)和总罚款?是的,所以它会显示每个用户一次,然后其中大约3-4个用户会有一个总罚款(尽管,一个有多个罚款)我只会展示给大家看once@Cacoon你运行那个查询了吗?这正是这个查询的作用
SELECT LOAN.UserID,
Sum(LOAN.Fine) AS SumOfFine
FROM LOAN
GROUP BY LOAN.UserID;
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;