美好的一天,
我正在创建一个查询,可以在其中放入数据网格视图。
假设我有2个表,即表A和表B。表A具有StaffId列,而表B也具有StaffId。表B可以具有带有StaffId外键的成本的多个值。我想做的是,使用相同的StaffId获取表B中的所有总和值。
这是样本表的定义和内容。
// Table A
| StaffId | Name |
| 1 | Dummmy |
// Table B
| Id | StaffId | Cost |
| 1 | 1 | 10.00 |
| 2 | 1 | 10.00 |
| 3 | 1 | 10.00 |
我已经尝试过此查询,但是无法获得正确的答案。
SELECT A.Name, Sum(B.Cost) FROM B INNER JOIN A ON A.StaffId=B.StaffId
答案应该是这样的
Dummy | 30.00
但我的查询不起作用。如何获得表B中所有成本的值?
任何帮助将不胜感激。先感谢您。
最佳答案
这样尝试
要找到每个StaffId的成本总和,您应该使用此值。
SELECT A.StaffId
,A.NAME
,Sum(B.Cost) as Total
FROM B
INNER JOIN A ON A.StaffId = B.StaffId
GROUP BY A.StaffId
,A.NAME
要查找所有StaffId的所有费用,您应该使用此代码。
SELECT Sum(B.Cost)
FROM B
INNER JOIN A ON A.StaffId = B.StaffId
关于mysql - SQL查询-使用内部联接获取表中具有ID的多列的总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38430358/