Sql 选择两个不同的列,然后对另一列的值求和
给定两个链接在一起的表Sql 选择两个不同的列,然后对另一列的值求和,sql,sql-server-2008,sum,distinct,Sql,Sql Server 2008,Sum,Distinct,给定两个链接在一起的表 tbl_Gasoline -------------- ID | Type ------------- 1 | Diesel 2 | Kerosene 及 我想要这样的输出 tbl_GasolineExpense ---------------------------- ID | Price | Type ---------------------------- 1 | 8000 | Diesel 2 | 4000 | Kerosene 我曾
tbl_Gasoline
--------------
ID | Type
-------------
1 | Diesel
2 | Kerosene
及
我想要这样的输出
tbl_GasolineExpense
----------------------------
ID | Price | Type
----------------------------
1 | 8000 | Diesel
2 | 4000 | Kerosene
我曾尝试使用DISTINCT和SUM子句,但我似乎无法提出一个好的查询。
我已经很久没有使用SQL了,所以非常感谢您的帮助 请试试这个
选择
g、 身份证,
E.将价格作为价格,
e、 汽油基
从…起
tbl_汽油g,tbl_费用e
哪里
g、 ID=e.GasolineType组乘以e.GasolineType
试试这个
SELECT e.id, SUM(price) AS 'price', g.NAME
FROM tbl_expense e
INNER JOIN tbl_gasoline g ON e.GasolineType = g.id
GROUP BY e.id, g.NAME
谢谢@S.M Mohiuddin,但是我在使用代码时遇到了一些错误,代码说e.id在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。我尝试过使用它,它帮助我进行了所需的良好查询。谢谢
SELECT
e.id,
SUM(price) AS 'price',
g. NAME
FROM
tbl_expense e
INNER JOIN tbl_gasoline g ON e.GasolineType = g.id
GROUP BY
g.id,g. NAME
SELECT tbl_Gasoline.ID,SUM(tbl_Expense.Price),tbl_Gasoline.Type
from tbl_Expense inner join tbl_Gasoline on tbl_Expense.GasolineType = tbl_Gasoline.ID
group by tbl_Gasoline.ID
SELECT e.id, SUM(price) AS 'price', g.NAME
FROM tbl_expense e
INNER JOIN tbl_gasoline g ON e.GasolineType = g.id
GROUP BY e.id, g.NAME