0

msaccessを使用して次のクエリを作成しました。

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())));

エラーは

[エラー]1064-SQL構文にエラーがあります。'[FECHA_ALTA])、Month([FECHA_ALTA])の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

MySQLに準拠するために「date」を「curdate」に変更しましたが、それでもエラーが発生します。

4

3 に答える 3

1

[...]sql-server / msaccessフィールドネーミング表記であり、MySQLでは無効です。試してみてくださいYear(FECHA_ALTA)。が文字通りフィールド名の一部である場合は[]、バッククォートでエスケープする必要があります。

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

LeandroBarretoからのこのクエリで修正されました

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 に答える