2015-02-09 170 views
0

我被困在一個總和在sql中。我想要做的是以下幾點:sql查詢;總和字段

我有一個存儲項目的id的表。這些ID與另一個表「庫」鏈接,並附有說明,名稱和這些項目的要點。

現在我需要抓住庫中的一些不同的項目,並計算這些點的總數。

我希望我已經夠清楚了。下面的查詢我使用的是:

"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` = '". $row2['lid'] ."'" 

回答

0

如果ID來自表格,則應使用join,inexists。喜歡的東西:

select sum(points) as total 
from library l join 
    otheridtable oit 
    on l.id = oit.id; 

你應該從數據庫中移動IDS到應用層,只是將它們塞進一個字符串,並送他們回數據庫。這是不雅,低效,更多的工作,而不是必要的。

+0

非常感謝,讓sence也:) – 2015-02-09 11:36:59

0

一個可能的方式做到這一點是:

"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` in (". $IDlist .")" 

哪裏$IDList是你的ID的逗號分隔的列表,例如像"'1', '2', '3'"

如果這些是數字ID,您可以避免單引號標記,它們用於字符串。