Sql server 使用一组值进行查询
我有数据库表Sql server 使用一组值进行查询,sql-server,sql-server-2008,sql-server-2008-r2,sql-server-2012,Sql Server,Sql Server 2008,Sql Server 2008 R2,Sql Server 2012,我有数据库表 Stores StoreId, Name Products ProductId, Name Transactions TransactionId, StoreId, ProductId 我刚收到一个excel文件,里面有300家商店的列表 我需要知道这些商店是否在销售我们的产品,如果是,他们在销售多少产品 我现在想到的一种方法是在excel工作表中分别查询每个存储的事务表,然后将结果输出复制回excel工作表 是否有一种方法可以针对excel文件中的所有商店名称编写查询?
Stores
StoreId, Name
Products
ProductId, Name
Transactions
TransactionId, StoreId, ProductId
我刚收到一个excel文件,里面有300家商店的列表
我需要知道这些商店是否在销售我们的产品,如果是,他们在销售多少产品
我现在想到的一种方法是在excel工作表中分别查询每个存储的事务表,然后将结果输出复制回excel工作表
是否有一种方法可以针对excel文件中的所有商店名称编写查询?
我需要在接下来的几个小时内完成这件事。如果有更简单的方法,请告诉我
谢谢 此查询将执行以下操作:
select Stores.StoreId, Stores.Name,
Products.ProductId, Products.Name,
count(distinct TransactionId) as Sales
from Transactions
inner join Stores on Stores.StoreId = Transactions.StoreId
inner join Products on Products.ProductId = Transactions.ProductId
where Stores.StoreId in
(
1
,2
,3
,4
)
group by Stores.StoreId, Stores.Name,
Products.ProductId, Products.Name
为了填写Where子句的ScoreId列表,请在Excel列表中的每个项目的前面或末尾连接一个逗号。
例如:
="," & A2
然后自动填充。该新片段可以复制/粘贴到SQLServerManagementStudio中