我有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中日期之间的所有总数
答案 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
或者您可以使用与此类似的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
答案 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;