【发布时间】:2017-03-11 09:03:59
【问题描述】:
我对这些列有一个看法
我想提取这些数据
我在 SQL Server 中通过几个步骤手动执行此操作,并且我想将其自动化,以便我可以直接从宏运行 select 语句并将其保存在 excel 文件中。 这就是我正在做的事情
select distinct
CASE
WHEN Userid ='jsolar' THEN 'Jack Solar'
WHEN Userid ='jkrcmarikova' THEN 'Jana Krcmarikova'
WHEN Userid ='lfialova' THEN 'lucia fialova'
WHEN Userid ='zsnopkova' THEN 'zuzana snopkova'
END AS [User Name]
, Region
from [SC].[vw_X86_Orders_By_UserID_GAMMA]
order by Region, [User Name]
然后我将结果复制到 excel 文件中并为每个用户运行其他查询
SELECT Count ( DISTINCT [Order Number])
FROM [SC].[vw_X86_Orders_By_UserID_GAMMA]
where Userid LIKE 'jsolar'
AND Region LIKE 'CENTRAL'
and [Order Entry Date] = '2016-10-27'
我将此结果保存为不同订单号的数量。然后我运行这个查询
SELECT Count ( DISTINCT CONCAT ([Order Number], [Line No]))
FROM [SC].[vw_X86_Orders_By_UserID_GAMMA]
where Userid LIKE 'jsolar'
AND Region LIKE 'CENTRAL'
and [Order Entry Date] = '2016-10-27'
我将此结果保存为与行号连接的不同订单号的数量。我对每个用户重复同样的操作
最后在 Excel 中应该是这样的
有没有办法在一个 select 语句中执行此操作以循环每个用户并同时计算所有用户?非常感谢。
【问题讨论】:
-
您想要地区、用户ID、订单号计数、订单号计数和行号?
-
我想是的......你的用户名存储在哪里?
-
@esquire 是的,对于每个用户和每个地区,我都会计算有多少不同的 orderNumber 和有多少不同的 concat(orderNumber, lineNumber)
-
@xQbert,名称我没有存储在视图中,我只是在纸上。
-
如果可能,您应该考虑将名称保存在单独的表中。
标签: sql sql-server tsql