Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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查询_Sql_Sql Server - Fatal编程技术网

用于按天获取销售额的Sql查询

用于按天获取销售额的Sql查询,sql,sql-server,Sql,Sql Server,您好,下面的查询提供以下输出: Sales RestaurantID Date 100.00 1 2016-01-01 200.00 1 2016-01-02 300.00 1 2016-01-03 相反,我需要将日期值转换为列,并显示每天的总销售额,因此输出应如下所示 RestaurantID 2016-01-01 2016-01-02 2016-01-03

您好,下面的查询提供以下输出:

Sales     RestaurantID    Date
100.00      1             2016-01-01 
200.00      1             2016-01-02 
300.00      1             2016-01-03 
相反,我需要将日期值转换为列,并显示每天的总销售额,因此输出应如下所示

RestaurantID    2016-01-01  2016-01-02  2016-01-03     
1               100.00      200.00      300.00   
查询

select sum(Sales),RestaurantID, dateadd(DAY,0, datediff(day,0, Date)) as Date
from DailySales
group by dateadd(DAY,0, datediff(day,0, Date)),RestaurantID
试试这个

 SELECT *
FROM Table_3
PIVOT(SUM(Sales) 
FOR Date IN ([2016-01-01],[2016-01-02],[2016-01-03])) AS PVTTable
输出:


数据类型varchar(max)和date的可能重复项在add运算符中不兼容。我们不是在@pivcol中存储日期,而是在in子句中存储字符串
 SELECT *
FROM Table_3
PIVOT(SUM(Sales) 
FOR Date IN ([2016-01-01],[2016-01-02],[2016-01-03])) AS PVTTable