dto52236 2016-11-13 13:48
浏览 24
已采纳

我想从三张桌子上得到每个月的费用

I have three table named "salary", "allowance" and "bill".

"salary" table has

 s_id [primary key], E_ID, S_Amount, S_Date.

"allowanace" table has

 A_ID[primary key], E_ID, A_TA, A_DA, A_MA, A_Others, A_Date, Total_A

"bill" table has

 E_ID[primary key], Electric, Gas, Water, B_Others, B_Date Total_B 

I have joined these tables with this 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

I want to get the total expense "Total_Ex" of january 2015, December 2015, October 2016, november 2016...each month's total expense separately.

  • 写回答

2条回答 默认 最新

  • douya8978 2016-11-13 14:02
    关注

    Try using SUM and IF:

    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
    

    This will give you Jan total expense.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试