MySQL查询选择当月错误
我使用ms access构建了以下查询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]))=
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]”是什么。也许,分享你收到的错误也会有所帮助。