从数据透视表存储过程导出sql数据到excel

时间:2013-03-17 12:20:03

标签: sql stored-procedures pivot

我的问题: 我的商店程序有动态列。所以我不能插入tabe。 所以我需要直接导出到Excel。以下是我的代码。下面的代码工作正常。 我需要直接从存储过程导出excel或如何使用存储过程创建动态表 请帮助我。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[usp_PIVOT_Seats]
AS
BEGIN
SET NOCOUNT ON;
DECLARE 
@cols NVARCHAR(MAX),
@stmt NVARCHAR(MAX)
SELECT @cols = ISNULL(@cols + ', ', '') + '[' + T.showdateformat + ']' FROM 
(SELECT  DISTINCT showdateformat FROM vw_Pivot_Seat_ALL) AS T

SELECT @stmt = ' SELECT * FROM vw_Pivot_Seat_ALL AS T
    pivot (SUM(T.Qty)  FOR T.showdateformat IN (' + @cols + ')) AS P'
END
EXEC sp_executesql @STMT=@STMT

请帮助我

Maideen

1 个答案:

答案 0 :(得分:0)

在Excel 2010+中,转到“数据”选项卡,添加与SQL数据库的连接,当您进入“选择表”对话框时,只需选择任何有效的表(我们稍后可以更改)。然后下一个对话框将被称为“导入表”。从这里开始遵循this page上的说明,即。单击“属性”,然后单击“定义”选项卡。将命令类型更改为“表格”和“命令文本”以外的其他内容以执行usp_PIVOT_Seats,您应该很高兴。