如何获得许多表总计的总计

时间:2013-03-18 00:38:58

标签: php mysql

我有500个表,所有表都包含“sales”字段中的美元金额记录。

以下为我获取每张桌子的绿色物品总销售额:

$tabletotal = mysql_query("SELECT sum(sales) FROM databasename.$tablename
WHERE type = 'green' AND descr  LIKE '%SOLD%'   ");
$row = mysql_fetch_assoc($tabletotal);
$answer= $row['sum(sales)'];

因此,如果一个特定的桌子有4个绿色物品,它们以4美元,6美元,7美元和3美元的价格出售,那么我得到的答案是20美元。

现在,我不知道怎么做,就是得到所有500个表中所有绿色项目的总和。因此,如果表1总共20美元,表2总共36美元,表3总共15美元,依此类推,我想在所有表格中得到总计(在这种情况下为71美元但是更多的是显然有500张桌子。

有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

可能最好使用for循环:

$tables = array('tbl1', 'tbl2', 'tbl3', ..., 'tbl499');
$total = 0;
foreach ($tables as $t)
{
    $tabletotal = mysql_query("SELECT sum(sales) tot FROM databasename.$t WHERE type = 'green' AND descr LIKE '%SOLD%'");
    $row = mysql_fetch_assoc($tabletotal);
    $total += $row['tot'];
}

或者,您可以使用UNION生成一个巨大的SQL查询,但它基本上是相同的。

Dream Eater提到;你不应该首先处于这种情况。