Sql server 2008 SQL Server-查找收取最高罚款的成员(基于以下场景)

Sql server 2008 SQL Server-查找收取最高罚款的成员(基于以下场景),sql-server-2008,Sql Server 2008,我有一个场景,其中有两个表 带有两列MemberID和MemberName的tblMember 100 Aakash 101 Seema TBLLOANID列、MemberID列和FineCharged列的历史记录 1 100 30 2 100 60 3 101 30 我想找到罚款总额最高的会员 输出应该是 100 Aakash 90 (60+30=90) 有人能帮忙吗 提前谢谢 SELECT TOP 1 M.MemberID, M.Membe

我有一个场景,其中有两个表 带有两列MemberID和MemberName的tblMember

100  Aakash
101  Seema
TBLLOANID列、MemberID列和FineCharged列的历史记录

1   100   30
2   100   60
3   101   30
我想找到罚款总额最高的会员

输出应该是

100   Aakash   90   (60+30=90)
有人能帮忙吗

提前谢谢

SELECT TOP 1
   M.MemberID, M.MemberName,
   SUM(LH.FineCharged)
FROM
   tblMember  M
   JOIN
   tblLoanHistory LH ON LH.MemberID=M.MemberID 
GROUP BY
   M.MemberID, M.MemberName
ORDER BY
   SUM(LH.FineCharged) DESC
更新。。。哎呀!添加了连接条件

SELECT M.MemberID ,M.MemberName,SUM(LH.FineCharged) FineCharged
FROM tblMember M
INNER JOIN tblLoanHistory LH ON LH.MemberID=M.MemberID 
GROUP BY M.MemberID, M.MemberName

更新。。。哎呀!添加了加入条件

以上查询仅给出所有成员的罚款总额。我想要的是支付最高罚款的会员。我想这可以通过添加[top 1]和[order by-desc]来实现,正如@gbn在上述回复中所回答的那样。选择前1名M.MemberID、M.MemberName、SUM(LH.FineCharged)FineCharged FROM tblMember M Internal JOIN TbloanHistory LH ON LH.MemberID=M.MemberID GROUP BY M.MemberID、M.MemberName order BY FineCharged desc上述查询仅给出所有成员的罚款总额。我想要的是支付最高罚款的会员。我想这可以通过添加[top 1]和[order by-desc]来实现,正如@gbn在上述回复中所回答的那样。选择顶部1个M.MemberID、M.MemberName、总和(LH.FineCharted)从tblMember M内部连接tblLoanHistory LH到LH。MemberID=M.MemberID按M.MemberID分组,M.MemberName按FineCharted描述排序
SELECT M.MemberID ,M.MemberName,SUM(LH.FineCharged) FineCharged
FROM tblMember M
INNER JOIN tblLoanHistory LH ON LH.MemberID=M.MemberID 
GROUP BY M.MemberID, M.MemberName