MySQL查询选择当月错误

MySQL查询选择当月错误,mysql,ms-access,Mysql,Ms Access,我使用ms access构建了以下查询 SELECT GVA14.COD_VENDED, Count(GVA14.RAZON_SOCI) AS CountOfRAZON_SOCI FROM GVA14 GROUP BY GVA14.COD_VENDED, Year([FECHA_ALTA]), Month([FECHA_ALTA]) HAVING (((Year([FECHA_ALTA]))=Year(curDate())) AND ((Month([FECHA_ALTA]))=

我使用ms access构建了以下查询

SELECT GVA14.COD_VENDED, Count(GVA14.RAZON_SOCI) AS CountOfRAZON_SOCI
FROM GVA14
GROUP BY GVA14.COD_VENDED, Year([FECHA_ALTA]), Month([FECHA_ALTA])
HAVING (((Year([FECHA_ALTA]))=Year(curDate())) AND
        ((Month([FECHA_ALTA]))=Month(curDate())));
错误是


[Err]1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在“[FECHA_ALTA])、月份([FECHA_ALTA])附近使用的正确语法


为了符合MySQL,我将“date”改为“curdate”,但仍然出现了一个错误。

这里的语法错误
Year(curdate())
。请将此更改为
Year(curDate())
以解决此问题

查询:

   SELECT GVA14.COD_VENDED, Count(GVA14.RAZON_SOCI) AS CountOfRAZON_SOCI
FROM GVA14
GROUP BY GVA14.COD_VENDED, Year([FECHA_ALTA]), Month([FECHA_ALTA])
HAVING (((Year([FECHA_ALTA]))=Year(curDate()) AND ((Month([FECHA_ALTA]))=Month(curDate())));

[…]
是sql server/msaccess字段命名符号,在MySQL中无效。试着用
年(费查阿尔塔)
。如果
[]
是字段名的一部分,则必须反勾转义:

Year(`[FECHA_ALTA]`)

通过Leandro Barreto的此查询修复

SELECT GVA14.COD_VENDED, GVA14.RAZON_SOCI, GVA14.FECHA_ALTA
FROM GVA14
WHERE Month(GVA14.FECHA_ALTA)=Month(curDate())
and Year(GVA14.FECHA_ALTA)=Year(curDate())
GROUP BY GVA14.COD_VENDED, GVA14.RAZON_SOCI, GVA14.FECHA_ALTA

完整的错误输出是什么?[Err]1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在“[FECHA_ALTA])、月份([FECHA_ALTA])附近使用的正确语法。MySQL可能想知道“[FECHA_ALTA]”是什么。也许,分享你收到的错误也会有所帮助。