美好的一天,

我正在创建一个查询,可以在其中放入数据网格视图。
假设我有2个表,即表A和表B。表A具有StaffId列,而表B也具有S​​taffId。表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/

10-11 01:24