2011-06-30 45 views
0

我有這張3表my_stamp,my_invoice和郵票 現在我想從郵票表中獲得價格的總和。 這裏是我現在的SQL查詢。mysql SUM不能與AS

$sql= "SELECT s.country, s.stamp_no, s.year, s.sgno, s.condition, SUM(ssk.price) as psum ";  
$sql_cnt = "SELECT s.stamp_no AS num "; 
$frm  = "FROM stamp AS ssk ,my_stamp AS s, my_invoice AS sk "; 

$filter = "WHERE s.invoice_id=sk.invoice_id AND ssk.stamp_no=s.stamp_no AND sk.cusid='" . $usr . "'"; 

    $sql_cnt = $sql_cnt . $frm . $filter. " Group by s.stamp_no"; 

查詢工作正常。我的主要問題是psum沒有獲得總價。 當我通過結果循環它獲得個別價格。

有人可以幫我在這個SUM在MySQL? 謝謝。

編輯::這裏是最後的SQL,我得到:

SELECT s.country, s.stamp_no, s.year, s.sgno, s.condition, SUM(ssk.price) as psum FROM stamp AS ssk ,my_stamp AS s, my_invoice AS sk WHERE s.invoice_id=sk.invoice_id AND  ssk.stamp_no=s.stamp_no AND sk.cusid='10' Group by s.stamp_no ORDER BY s.country, s.sgno ASC  LIMIT 0,20 
+2

我看到在$ SQL變量的總和,但我沒有看到$ SQL習慣我失去了財產以後 –

+0

哪個查詢是用過的? $ sql_cnt沒有和,$ sql沒有group by子句。 – NotMe

+0

正在使用$ sql。 $ sql_cnt用於計數。我已經發布了最終的SQL – rrapuya

回答

0

你好像錯過了GROUP BY在您的查詢:

SELECT s.country, s.stamp_no, s.year, s.sgno, s.condition, SUM(ssk.price) as psum 
GROUP BY 1, 2, 3, 4, 5 
0

在$ SQL查詢不具有GROUP BY,所以它只是要返回的行ssk.price。