0

我使用 ms 访问构建了以下查询。

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]), Month([FECHA_ALTA]) 附近使用的正确语法

我将“日期”更改为“curdate”以符合 MySQL,但它仍然出现错误。

4

3 回答 3

1

[...]是 sql-server/msaccess 字段命名表示法,在 MySQL 中无效。试试吧Year(FECHA_ALTA)。如果[]是字段名称的一部分,则必须反引号转义它们:

Year(`[FECHA_ALTA]`)
于 2012-12-04T20:23:21.520 回答
0

修复了来自 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
于 2012-12-06T10:09:58.327 回答
0

此处的语法错误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())));
于 2012-12-04T20:22:19.197 回答