我想使用预定义列表中的不同参数值来迭代相同的查询。
说,我有一个有两列的表。第一列包含客户名称。第二列包含客户支出。
###CUSTOMER; SPENDING###
customer1; 1000
customer2; 111
customer3; 100
customer1; 323
...
我知道完整的客户列表:customerlist = {customer1,customer2,customer3}。
我想做类似的事情:
Select sum(spending)
from mytable
where customer = @customerlist
查询应计算客户列表中定义的每个客户的支出总和。我发现了一些带有存储参数的sql过程示例,但没有一个带有多个值的参数的情况。
谢谢
P.S。这只是一个假设的例子来说明我的问题(我知道在这里使用简单的分组依据会更有效)。
答案 0 :(得分:0)
您可以像这样使用嵌套查询
SELECT CustomerList.CustomerName Cust, isnull((SELECT SUM(Spending) CustSpending
FROM Customer
WHERE Customer.CustomerName = CustomerList.CustomerName),0)
FROM CustomerList
答案 1 :(得分:0)
通常使用GROUP BY
完成此操作:
Select customer, sum(spending)
from mytable
group by customer;
GROUP BY
是SQL的非常基本的部分。您应该检查一下您对SQL的了解,从而了解如何使用它。