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

すべてのテーブルをマージして、探している結果を含む単一のテーブルを作成するSQLステートメントを作成できます。

SELECT DATE, SUM(TOTAL) AS TOTAL
FROM
(
SELECT DATE, TOTAL FROM Table1
UNION ALL
SELECT DATE, TOTAL FROM Table2
UNION ALL
SELECT DATE, TOTAL FROM Table3
) AS AllTables
WHERE Date BETWEEN '1 JAN 2012' AND '13 JAN 2012'
GROUP BY Date

この結果は、他のテーブルと同じようにphpで表示できます。

于 2012-11-30T05:34:33.063 に答える
0

日付までに3つのテーブル間で内部結合を作成し、合計を(新しいフィールドで)合計することができます。

例えば

SELECT t1.date, (t1.total + t2.total + t3.total) AS final_total
FROM t1
INNER JOIN t2 ON t1.date=t2.date
INNER JOIN t3 ON t1.date=t3.date
GROUP BY t1.date
于 2012-11-30T05:33:47.170 に答える
0

テーブルがdatelist、datelist2、およびdatelist3であると仮定すると、次のコードを使用します。

SELECT 
dateslist.`Date`,SUM(dateslist.`Total`+datelist2.`Total`+datelist3.`Total`) 
FROM 
`dateslist` 
JOIN 
datelist2 on dateslist.Date=datelist2.Date 
JOIN 
datelist3 ON datelist2.Date=datelist3.Date GROUP BY dateslist.Date
于 2012-11-30T05:43:02.780 に答える