【发布时间】:2016-11-06 21:25:42
【问题描述】:
我有以下 SQL 交叉表查询 (Microsoft Access)
TRANSFORM Sum(tbEcritureDetail.iMontantCHF) AS SumOfiMontantCHF
SELECT Format([dValeur],"mm\.yyyy") AS Mois, Sum(tbEcritureDetail.iMontantCHF) AS Ecart
FROM tbTypeCategories INNER JOIN ((tbCategories INNER JOIN (tbSousCategorie INNER JOIN (tbEcritureHeader INNER JOIN tbEcritureDetail ON tbEcritureHeader.KeyPK = tbEcritureDetail.iDocPrincipalRef) ON tbSousCategorie.KeyPK = tbEcritureDetail.iSousCategorie) ON tbCategories.KeyPK = tbSousCategorie.iRefCategorie) INNER JOIN tbComptes ON tbEcritureHeader.iCompteRef = tbComptes.KeyPK) ON tbTypeCategories.KeyPK = tbSousCategorie.iTypeCategorie
WHERE (((tbEcritureHeader.dValeur) Between #1/1/2013# And #12/31/2016#) AND ((tbComptes.sTypeCompte)<>"TITRES"))
GROUP BY Format([dValeur],"mm\.yyyy")
ORDER BY tbTypeCategories.sDescription
PIVOT tbTypeCategories.sDescription;
数据的排序方式并不完全符合我的预期(见屏幕截图)
我们可以注意到我们有 2013 年 1 月,然后是 2014 年 1 月,然后是 2015 年 1 月,等等......
我想要的是 2013 年 1 月、2013 年 2 月、...、2013 年 12 月、2014 年 1 月等...
我在交叉表查询中做错了什么?
任何帮助将不胜感激。提前致谢。
【问题讨论】: