2012-01-13 82 views
0

我有一个数组,例如下面的值:$ id_list = array(1,2,9,37);如何求和数组中的字段?

现在我有一个查询,它应该返回表中Id与数组匹配的表中所有值的总和。这是现在我的查询:

$tr_query="SELECT SUM(Value1), SUM(Value2) 
FROM table WHERE Id IN(".implode(",",$id_list).")"; 

因此,如果所有字段的id为1,2,9和37之和为109350,它应该返回值。

谢谢!

+0

而不是吗?你试过了吗?应该工作正常。 – 2012-01-13 14:16:15

+0

只要确保你的数组内容都是不需要额外转义的整数,当你将它们implode()成一个字符串时 – 2012-01-13 14:17:22

+0

对于每个ID它返回一些东西,所以IN不起作用我想? – Jordy 2012-01-13 14:17:28

回答

0

试试这个:

$tr_query="SELECT SUM(SELECT value1 FROM table WHERE id IN (".implode(",",$id_list).")), SUM(SELECT value2 FROM table WHERE id IN (".implode(",",$id_list).")) FROM dual";