Sql server 按订单从SQL Server导出到Excel
我正在从保存的视图将SQL Server导出到Excel。在该视图中,它按两列排序(排序依据..) 但当我导出它时,它在Excel中被随机排序 如何按订单导出 以下是视图的查询:Sql server 按订单从SQL Server导出到Excel,sql-server,excel,sorting,export,Sql Server,Excel,Sorting,Export,我正在从保存的视图将SQL Server导出到Excel。在该视图中,它按两列排序(排序依据..) 但当我导出它时,它在Excel中被随机排序 如何按订单导出 以下是视图的查询: SELECT TOP (100) PERCENT GETDATE() AS Date, MixStatusID AS Partner, SUM(CAST(Weight AS float)) AS Weight, SUM(CAST(TotalCostPrice AS float)) AS TotalCost,
SELECT TOP (100) PERCENT GETDATE() AS Date, MixStatusID AS Partner, SUM(CAST(Weight AS
float)) AS Weight, SUM(CAST(TotalCostPrice AS float)) AS TotalCost, ProductGroupID
FROM dbo.D_ParcelLocation
WHERE (ParcelStatusID IN (N'stock', N'memo', N'transfer', N'analyze_un')) AND (ParcelTypeID <> N'M') AND (ProductGroupID <> N'G_POL') AND (ProductGroupID <> N'G_ROU')
GROUP BY MixStatusID, ProductGroupID
HAVING (SUM(CAST(Weight AS float)) > 0)
ORDER BY ProductGroupID, Partner
选择TOP(100)PERCENT GETDATE()作为日期,MixStatusID作为合作伙伴,SUM(CAST)作为权重
float)作为重量,SUM(CAST(TotalCostPrice作为float))作为总成本,ProductGroupID
来自dbo.D_ParcelLocation
其中(ParcelStatusID IN(N'stock',N'memo',N'transfer',N'Analysis_un'))和(ParcelTypeID N'M')和(ProductGroupID N'G_POL')和(ProductGroupID N'G_ROU'))
按MixStatusID、ProductGroupID分组
具有(总和(铸造(重量为浮动))>0)
按ProductGroupID、合作伙伴排序的订单
对不起,您不能创建一个具有相同结果集的存储过程吗
create procedure sp_D_ParcelLocation_s as
begin
SELECT TOP (100) PERCENT GETDATE() AS Date
, MixStatusID AS Partner
, SUM(CAST(Weight AS float)) AS Weight
, SUM(CAST(TotalCostPrice AS float)) AS TotalCost
, ProductGroupID
FROM dbo.D_ParcelLocation
WHERE (ParcelStatusID IN (N'stock', N'memo', N'transfer', N'analyze_un'))
AND (ParcelTypeID <> N'M')
AND (ProductGroupID <> N'G_POL')
AND (ProductGroupID <> N'G_ROU')
GROUP BY MixStatusID, ProductGroupID
HAVING (SUM(CAST(Weight AS float)) > 0)
ORDER BY ProductGroupID, Partner
end
创建过程sp\u D\u ParcelLocation\u s作为
开始
选择顶部(100%)百分比GETDATE()作为日期
,MixStatusID作为合作伙伴
,和(铸造(浮子重量))作为重量
,总计(铸造(总成本价格为浮动))为总成本
,ProductGroupID
来自dbo.D_ParcelLocation
其中(包裹状态输入(N'stock',N'memo',N'transfer',N'analyze_un'))
和(ParcelTypeID N'M')
和(ProductGroupID N'G_POL')
和(ProductGroupID N'G_ROU')
按MixStatusID、ProductGroupID分组
具有(总和(铸造(重量为浮动))>0)
按ProductGroupID、合作伙伴排序的订单
结束
也许这样不行?我不经常这样使用Excel,但我认为您可以使用存储过程和视图。因为,如果该查询实际上是一个视图定义,您需要在从该视图中选择时指定一个ORDER BY
,例如:
SELECT *
FROM YourView
ORDER BY ProductGroupID, Partner
;
或者,无论您使用什么样的查询来实际传输数据
视图定义中的排序依据不提供结果集的固定顺序。事实上,只允许这样做是因为有一个TOP
子句,在这种情况下,orderby
的形式意义是为TOP
子句设置正确的行顺序,而不是为从该视图读取的查询结果设置行顺序
1关于使用
选择前100%
+按
顺序排序技术的实际意义,您可以查看以下线程:。您可以向我们展示视图定义吗?(用于创建视图的SQL脚本)请不要将代码示例或示例数据放入注释中-因为您无法对其进行格式化,所以读取它非常困难。。。。取而代之的是:通过编辑你的问题来更新它,以提供额外的信息!谢谢。ORDER BY
在视图中不起作用(请参阅和)。如果要排序结果,必须在查询中使用ORDER BY
。SQL Server的哪个版本?抱歉,我不在:SQL 2008 R2,我正在尝试将其添加到导出查询中,如下所示:创建表Z_STOCK\u PARTNERS\u 2
(Date
DateTime,ProductGroupID
LongText)Order byProductGroupID
,但它告诉我语法错误,我从未使用过存储过程。。我将添加它之后,如何处理它?