2012-11-29 66 views
0

我有4個表格,在這個表格中有3行[record]和3列[field]字段,比如Date Name Total。該表如下圖所示:在PHP中創建所有表格行字段的總和

首先表

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

+1

爲什麼表分開......他們似乎存儲相同的數據類型? – diggersworld

+0

您是否將數據插入表中?您可以按日期合併所有組合,然後合併SUM組。你可以發佈你的導出表,所以我可以寫查詢。 – VibhaJ

+0

你爲什麼使用4個獨立的表格?是否有必要以這種方式保存數據? – triclosan

回答

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

此SQL代碼在SQL中工作。然而,我需要這個代碼在PHP中工作。我怎樣才能做到這一點。這是我的代碼:$ sql9 = mysql_query(「select'Date',sum(Total)as Total(from select'Date','Total' from kundapurper where where BETWEEN'$ a'AND'$ b' union all 從udupiper選擇'Date',總 其中日之間的 '$ a' 和 '$ b' UNION ALL 從honnaper其中日之間的 '$ a' 和 '$ b' 選擇'Date',總 )src group by Date「); if(!$ sql9) { print「Report Could not Success,Try Again」; exit(); } –

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

+0

謝謝@bluefeet。它的作品完美 –

+0

@ GaneshJogii高興地幫助,如果這個答案對你有幫助,一定要通過左邊的複選標記接受它。這將有助於未來的訪問者訪問該網站,並獲得代表的接受。 :) – Taryn

+0

hi @bluefeet。在SQL中,它工作完美。但同時在PHP中寫入我得到錯誤 –

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

你能給你的代碼添加一些評論嗎?它有助於理解它,以及爲什麼你首先建議它。 – Yaroslav

+0

你可以給我PHP的代碼,如果possilbe。如果你在PHP @Yaroslav中發佈代碼將會非常有幫助 –