2013-03-18 84 views
0

我有500個表,全部包含「銷售」字段中美元金額的記錄。如何獲得多個表總計總計

下面讓我每桌總銷售額的綠色項目:

$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桌)。

任何幫助任何人嗎?

+3

這是一個非常糟糕的表管理。 – hjpotter92 2013-03-18 00:42:06

+0

答案在下面有幫助嗎? – aidan 2013-03-24 08:01:53

回答

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查詢,但它本質上是一樣的。由於夢想食者提到;你首先不應該處於這種狀況。