2015-02-09 126 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,您可以避免单引号标记,它们用于字符串。