2012-12-04 49 views
0

我使用ms訪問構建了以下查詢。MySQL查詢選擇當前月份錯誤

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語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「正確的語法手冊[FECHA_ALTA]),月([FECHA_ALTA])

我改變了‘約會’到‘CURDATE’遵守MySQL,但它仍然會出現錯誤。

+1

什麼是完整的錯誤輸出? –

+0

[錯誤] 1064 - 您的SQL語法錯誤;查看與您的MySQL服務器版本相對應的手冊,以找到在[[FECHA_ALTA]]附近使用的正確語法)Month([FECHA_ALTA]) –

+1

MySQL可能想知道「[FECHA_ALTA]」是什麼。也許,分享你收到的錯誤也會有所幫助。 –

回答

0

修正了林德羅 - 巴雷託這個查詢

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

[...]是SQL服務器/ MSACCESS fieldnaming符號,而不是有效的MySQL中。試試Year(FECHA_ALTA)。如果[]是字段名稱的字面一部分,你必須BACKTICK-轉義:

Year(`[FECHA_ALTA]`)