在PHP中创建所有表行字段的总和

时间:2012-11-29 11:36:17

标签: php mysql sum

我有4个表,在这个表中有3行[record]和3列[field]字段,如Date Name Total。这个表如下:

第一张表

   Date                  Name                      Total
 2012-11-07             Manoj                       10
 2012-11-08             Ganesh                       4
 2012-11-09             Sri                         30

第二张表

  Date                   Name                      Total
2012-11-07               Raju                         5
2012-11-08               ggg                          3
2012-11-09               Shshi                       30

第三表

 Date                   Name                      Total
2012-11-07              Ram                         2
2012-11-08               gm                         5
2012-11-09             Shsse                       30

我需要在PHP中输出类似以下类型

Date          Total
2012-11-07      17
2012-11-08      12
2012-11-09      90

它应显示PHP中日期之间的所有总数

3 个答案:

答案 0 :(得分:1)

您可以使用UNION ALL

select date, sum(total) AllTotal
from
(
  select date, total
  from table1
  union all
  select date, total
  from table2
  union all
  select date, total
  from table3
) src
group by date

请参阅SQL Fiddle with Demo

或者您可以使用与此类似的LEFT JOIN

select t1.date, sum(t1.total + t2.total + t3.total) AllTotal
from table1 t1
left join table2 t2
  on t1.date = t2.date
left join table3 t3
  on t1.date = t3.date
group by t1.date

请参阅SQL Fiddle with Demo

答案 1 :(得分:0)

SELECT DATE, SUM(Total) totalSum
FROM
(
    SELECT * FROM tableA
    UNION ALL
    SELECT * FROM TableB
    UNION ALL 
    SELECT * FROM tableC
) s
GROUP BY DATE

答案 2 :(得分:0)

select tbl1.date,sum(total)
from tbl1,
tbl2,
tbl3
where tbl1.date = tbl2.date and
tbl2.date = tbl3.date
group by tbl1.date;