0

私は4つのテーブルを持っています。このすべてのテーブルには、Date Name Totalのような3つの行[レコード]と3つの列[フィールド]フィールドがあります。このテーブルは次のようになります。

最初のテーブル

   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で日付間のすべての合計を表示する必要があります

4

3 に答える 3

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 を参照してください

または、次のようなものを使用できる場合があります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 を参照してください

于 2012-11-29T11:39:50.283 に答える
0
SELECT DATE, SUM(Total) totalSum
FROM
(
    SELECT * FROM tableA
    UNION ALL
    SELECT * FROM TableB
    UNION ALL 
    SELECT * FROM tableC
) s
GROUP BY DATE
于 2012-11-29T11:39:45.340 に答える
0
select tbl1.date,sum(total)
from tbl1,
tbl2,
tbl3
where tbl1.date = tbl2.date and
tbl2.date = tbl3.date
group by tbl1.date;
于 2012-11-29T11:40:28.973 に答える