我有三张桌子,名叫"salary","allowance"和"bill"。
"salary"表
s_id [primary key], E_ID, S_Amount, S_Date."allowanace"表
A_ID[primary key], E_ID, A_TA, A_DA, A_MA, A_Others, A_Date, Total_A"bill"表
E_ID[primary key], Electric, Gas, Water, B_Others, B_Date Total_B 我已经用这个query>>连接了这些表
SELECT
SUM(allowance.`A_TA`+allowance.`A_DA`
+allowance.`A_MA`+allowance.`A_Others`)
AS Total_Allowance,
(SUM(salary.`S_Amount`)) AS Total_Salary,
SUM(bill.`Electric`+bill.`Water`+bill.`Gas`+bill.`B_Others`) as
Total_Bill,
(SUM(allowance.`A_TA`+allowance.`A_DA`+allowance.`A_MA`
+allowance.`A_Others`)+SUM(salary.`S_Amount`)
+SUM(bill.`Electric`+bill.`Water`+bill.`Gas`+bill.`B_Others`))
AS Total_Ex
from salary
INNER JOIN allowance
ON salary.E_ID=allowance.E_ID
INNER JOIN bill
ON salary.S_Date=bill.B_Date我想分别得到2015年1月、2015年12月、2016年10月、11月Total_Ex月总费用。
发布于 2016-11-13 14:02:38
尝试使用SUM,如果:
SUM(IF(DATE_FORMAT(salary.S_Date,'%M')='January',
allowance.A_TA+allowance.A_DA+allowance.A_MA
+allowance.A_Others
+salary.S_Amount+bill.Electric+bill.Water
+bill.Gas+bill.B_Others,0)) AS
Jan_Total_Ex这将给你简的总开支。
发布于 2016-11-13 13:52:52
这个能行吗?选择转换(varchar(8),bill.B_Date,120) +'01',SUM(allowance.A_TA+allowance.A_DA+allowance.A_MA+allowance.A_Others)作为Total_Allowance,(SUM(salary.S_Amount))作为Total_Salary,SUM(bill.Electric+bill.Water+bill.Gas+bill.B_Others)选择Total_Bill,(SUM(allowance.A_TA+allowance.A_DA+allowance.A_MA+allowance.A_Others)+SUM(salary.S_Amount)+SUM(bill.Electric+bill.Water+bill.Gas+bill.B_Others)) ( Total_Ex )从salary.E_ID=allowance.E_ID内部参加津贴到salary.S_Date=bill.B_Date组的转换(varchar(8),bill.B_Date,120) +'01‘
https://stackoverflow.com/questions/40574535
复制相似问题