如果不能在我的MS SQL存储过程中使用数组,我无法计算出计算公式的有效方法。使用不同数量的输入在MS SQL Server中进行高效计算
背景....
select child_id, sum(quantity) as quantity
from table
where parent_id = @parent_id
回报是这样的....
child_id quantity
100 50000
200 60000
300 45000
400 30000
500 15000
这是一个简单的SQL公式来说明什么,我需要帮助。数学并不重要(好吧,如果它没有任何意义 - 它简化,以表明我需要如何使用从上面的总结量)...
set @result = (2 * LOG(50000)) + LOG(60000) + LOG(45000) + LOG(30000) + LOG(15000)
对于上述每个child_id的,我想要执行一个(select child_id,@result)。请注意,“活动”child_id的总计数量与其他child_ids(2 * LOG())的总和数量不同。此外,child_id的计数在2到20之间变化。如果只有2个child_ids,则@result将为=(2 * LOG(50000)+ LOG(60000)。对于你可以提供的任何建议很多
在上面的例子中,child_id 200的结果是什么? – 2011-02-10 16:47:29
Matt,Joe,Martin - 谢谢。我必须再考虑一下,以确定CTE方法是否能用我的非简化算法工作(或如何工作)。 Matt,回答你的问题 - child_id 200的结果是=(2 * LOG(60000))+ LOG(50000)+ LOG(45000)+ LOG(30000)+ LOG(15000)。再次感谢你们。 – karman 2011-02-10 19:23:49