0

我有 4 个表,其中所有表都有 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

假设这些表是 dateslist、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 回答