Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Access SQL:按定制案例排序,按月透视_Sql_Date_Ms Access_Sql Order By_Pivot - Fatal编程技术网

Access SQL:按定制案例排序,按月透视

Access SQL:按定制案例排序,按月透视,sql,date,ms-access,sql-order-by,pivot,Sql,Date,Ms Access,Sql Order By,Pivot,我在Access中编写了一个交叉表“a”,从另一个表“B”中选择2个文本列和2个数字列、月份和帖子 代码的摘录如下所示 Select B.xx... From B Group by B.xx... Pivot B.Month; …如果月份属于同一年,则该方法很有效,但由于月份是滚动的,因此当一年结束时,例如月份为{10月、11月、12月、1月、2月},顺序保持为B月ASC{01、02、10、11、12},我希望它按{10 11 12 01 02}的顺序旋转 更新:我修复了主要问题,但现在我想

我在Access中编写了一个交叉表“a”,从另一个表“B”中选择2个文本列和2个数字列、月份和帖子

代码的摘录如下所示

Select B.xx...
From B
Group by B.xx...
Pivot B.Month;
…如果月份属于同一年,则该方法很有效,但由于月份是滚动的,因此当一年结束时,例如月份为{10月、11月、12月、1月、2月},顺序保持为B月ASC{01、02、10、11、12},我希望它按{10 11 12 01 02}的顺序旋转

更新:我修复了主要问题,但现在我想 1.将订单更改为2013年10月至2014年3月 2.将标题改为10到3

TOPIC        SUB-TOPIC   1/2014   10/2013   11/2013   12/2013   2/2014  3/2014
language     english      86        88         90       82        88      90
language     french       70        77         75       79        82      80
mathematics  geometry     xx        xx         xx       xx        xx      xx 
mathematics  calculus     xx        xx         xx       xx        xx      xx 

创建包含年和月的表达式,并在轴中使用它

类似于
Pivot(年和格式(月,“00”))

或者,如果您在字段中有完整的日期,则类似于`透视格式(日期,“yyyy/mm/dd”)


提醒一下,年份、日期和月份可能是保留字,您可能需要不同的字段名-不确定,但可能

这不会解决问题,但Access不支持
case/when
语法为什么年份和月份在两列中?以前是一列吗?@Brad A和B中只有月份列,我尝试通过传入来添加年份,但没有效果,因为pivot只在Monthb有效,但如何获得一年中的月份?是否有一列具有适当的
日期/时间
数据类型?@Brad Yes在另一个表中,例如D,其中包含所有原始数据。我提取了月份(date_列)以用于最终的表A。我尝试提取年份(date_列),但最终数据透视只能透视一列……这是一个很好的建议,但如果我同时透视年份和月份,该列的列名会显示什么?是否“透视(年和格式(月,'00”)因为Monthnum有效?不,我只需要从常规数据中提取月份部分,因为这是唯一需要的。是的,月份和年份是保留的。我认为你的建议应该有效-因为Monthnum不应该改变任何东西。至于你会得到什么-列应该看起来像201309..201310..201311..201312..201401…201402等等-试试看你得到了什么,并应用任何你喜欢的格式,只要先是年份,然后是月份。