Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Pivot Select语句中的Order By_Sql Server_Tsql_Pivot - Fatal编程技术网

Sql server Pivot Select语句中的Order By

Sql server Pivot Select语句中的Order By,sql-server,tsql,pivot,Sql Server,Tsql,Pivot,这是我的声明,我需要按日期下单,但我不能这样做,请帮忙 我的代码 PROCEDURE [sal_pivottable_day_plan] AS DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX), @DtFrom date, @DtTo date SELECT @cols = STUFF((SELECT distinct ',' + QUOTENAME(sal_day_

这是我的声明,我需要
按日期下单
,但我不能这样做,请帮忙

我的代码

PROCEDURE [sal_pivottable_day_plan]
AS
    DECLARE @cols AS NVARCHAR(MAX), 
            @query AS NVARCHAR(MAX),
            @DtFrom date, @DtTo date

    SELECT @cols = STUFF((SELECT distinct ',' + QUOTENAME(sal_day_plan_0015.MyDate) FROM sal_day_plan_0015 

    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)') ,1,1,'')
    SET @query = 'SELECT dealers_sril, dealers_name, stop_value, hanging_value, dealers_balanc, paid_val_motkhrat, ' + @cols + ' 
                  FROM ( 
                         SELECT dealers_sril, dealers_name, stop_value, hanging_value, dealers_balanc, paid_val_motkhrat, paid_val_between,MyDate
                        FROM  sal_day_plan_0015 
                        )x
                   PIOVT
                   ( 
                     min(paid_val_between)for MyDate in (' + @cols + ') 
                   ) p'             

    EXEC(@query)            

    RETURN 0

您可以将
,'+QUOTENAME(sal_day_plan_0015.MyDate)别名为c
,并按该列排序:

PROCEDURE [sal_pivottable_day_plan]
AS
DECLARE @cols AS NVARCHAR(MAX), @query  AS NVARCHAR(MAX),@DtFrom date ,@DtTo date

    SELECT @cols = STUFF((SELECT distinct ',' + QUOTENAME(sal_day_plan_0015.MyDate) AS c FROM sal_day_plan_0015 
    ORDER BY c
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)') ,1,1,'')

    SET @query = 'SELECT dealers_sril, dealers_name, stop_value, hanging_value, dealers_balanc, paid_val_motkhrat, ' + @cols + ' 
                  FROM ( 
                         SELECT dealers_sril, dealers_name, stop_value, hanging_value, dealers_balanc, paid_val_motkhrat, paid_val_between,MyDate
                        FROM  sal_day_plan_0015 
                        )x
                   PIVOT
                   ( 
                     min(paid_val_between)for MyDate in (' + @cols + ') 
                   ) p'             
EXEC(@query)            
RETURN 0

PS:PIVOT关键字
中有错误。

返回什么?。你需要回信的地方要说清楚