douhu2131 2017-10-24 21:45
浏览 40
已采纳

通过部门的总金额(包括公司)

I am trying to run a SQL statement that includes three tables.

incomes

-id
-title
-amount
-company_id

companies

-id
-name
-sector_id

sectors

-id 
-name

as you can see 'incomes' table is not directly related with 'sectors' table. What I am trying to do is to get total of income by IndustrySectors.

I had managed to calculate two tables so far but knowledge is limited for three. Please kindly guide me.

this is for two tables.Income By Company

    $x=0;
    foreach($companies as $Company){
        $companyName= $Company['Company']['name'];
        $companyId= $Company['Company']['id'];

        $query= $this->Income->query("
        SELECT  SUM( amount ) AS IncomeTotal
        FROM incomes
        WHERE company_id=$companyId
        ");

        $total=$query[0][0]['IncomeTotal'];

        if($total!=null){
            //$incomeByCompany[$companyName]=$total;
            //$incomeByCompany['total']=$total;
            $incomeByCompany[$x]['companyId']=$companyId;
            $incomeByCompany[$x]['name']=$companyName;
            $incomeByCompany[$x]['total']=$total;

        }
        $x++;
    }
  • 写回答

1条回答 默认 最新

  • dongwuli5105 2017-10-24 21:54
    关注
    SELECT s.name , SUM(i.amount) as total_sector
    FROM sectors s
    JOIN companies c
       ON s.id = c.sector_id
    JOIN incomes i
       ON c.id = i.company_id
    GROUP BY s.name
    

    Aditionally instead of a loop your company query should be:

    SELECT c.name , SUM(i.amount) as total_sector
    FROM companies c
       ON s.id = c.sector_id
    JOIN incomes i
       ON c.id = i.company_id
    GROUP BY c.name
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算