我在单个SQL语句中从多个表中提取Sums时遇到问题。
我有三个表tblCases,tblTimesheetEntries和tblInvoices在tblCases和其他两个表之间存在一对多的关系。
我目前正在使用以下SQL语句
SELECT c.CaseNo, SUM(i.InvFees), SUM(t.Fees)
FROM tblCases AS c
INNER JOIN tblInvoices AS i ON c.CaseNo = i.CaseNo
INNER JOIN tblTimesheetEntries AS t ON c.CaseNo = t.CaseNo
GROUP BY c.CaseNo
ORDER BY c.CaseNo;
但是,这似乎重复了发票金额。例如,如果一个案例只有一张发票,但是说有4个时间表条目,则它将计算出发票金额的4倍作为该表的总和。
如果我将分组取出,然后运行以下SQL:
SELECT c.CaseNo, i.InvFees, t.Fees
FROM tblCases AS c
INNER JOIN tblInvoices AS i ON c.CaseNo = i.CaseNo
INNER JOIN tblTimesheetEntries AS t ON c.CaseNo = t.CaseNo
ORDER BY c.CaseNo;
我看到发生这种情况是因为发票金额在所有4行中都重复了,例如
Case 1001, Inv 001 950.00, TimeFees 250.00
Case 1001, Inv 001 950.00, TimeFees 175.00
Case 1001, Inv 001 950.00, TimeFees 225.00
Case 1001, Inv 001 950.00, TimeFees 190.00
因此,发票总数是发票001金额的四倍。
我想从上述数据中返回的是一条求和线:
Case 1001, Total Invoices 950.00, Total TimeFees 840.00
如何避免求和中的重复?
SELECT c.CaseNo,
i.InvFees,
t.Fees
FROM tblCases AS c
INNER JOIN (SELECT CaseNo,
Sum(InvFees) AS InvFees
FROM tblInvoices
GROUP BY CaseNo) AS i
ON c.CaseNo = i.CaseNo
INNER JOIN (SELECT CaseNo,
Sum(Fees) AS Fees
FROM tblTimesheetEntries
GROUP BY CaseNo) AS t
ON c.CaseNo = t.CaseNo
ORDER BY c.CaseNo;
我正在使用hibernate 4和Spring 3。 我有5个表,每个表映射一个实体类。现在,如果我必须从1个表中选择列,我将执行以下操作: 此结果中的此值将为EmployeeEntity类型。 或者我也可以使用标准。 现在我的要求是我必须从所有5个表中得到结果。每个表中有1-2列。 早些时候,它是一个1表,所以我得到了一个实体,现在我得到了5个表的结果,所以如何在实体中映射它。 List res
我试图从跨多个工作表的考勤中找到员工ID,并将时间戳拉到单个工作表中。 我在Excel中做过类似的事情,我猜可以在谷歌表格中使用谷歌应用脚本完成。 如果有人能引导我使用谷歌表单中的内置或自定义功能,那将非常有帮助。
表 1:发票(inv_id、inv_value、cust_id) 表 2:客户(cust_id、sales_rep) 表 3:成员(Member_id、member_cateogry、member_type、cust_id) 注1:每个客户支付多张发票。(一对多关系)。< br >注2:每个客户为一个或多个会员付费(因此一个客户可能与多个会员相关)。< br >注3:每个成员都有一个类别,可以是1
问题内容: K,所以我有两个表: 我想从类别中获取所有信息,并计算每个类别中的问题数(question_id)。 假设,第一个类别(计费)将有一个问题,第二个类别(安全)将有3个问题。 我已经试过了: 问题答案: 您想这样做: 在将确保没有问题类别获得与数= 0上市
我有三张桌子:
问题内容: 我有dbo.Users表 然后我有dbo.Phones表 然后我有dbo.Relationship表 我如何进行查询返回 这就是我到目前为止所得到的。 问题答案: 在这里,将“关系”表视为“用户”和“电话”表之间的中间人。它与映射表是多对多关系。将您的用户加入到关系中,然后将其加入到您的电话中。 可以这样想: 用户: 您好关系,我的UserId = 1,我对那个UserId有什么电话I