簡體   English   中英

查詢表達式中的語法錯誤(逗號)。 MS Access 2013

[英]Syntax error (comma) in query expression. MS Access 2013

我在Access 2013中建立一個SQL查詢。這是我的查詢:

SELECT  
COUNT(Age) FROM Members AS [Under 12] WHERE Age <= 12,
COUNT(Age) FROM Members AS [13-18] WHERE Age BETWEEN 13 AND 18

但我不斷收到此錯誤:

查詢表達式'Age <= 12,來自SukkotMembers AS [13-18]年齡在13和18之間的語法錯誤(逗號)`

問題出在第二行末尾的逗號,但是我不明白為什么。 當我只運行一行時,它工作正常。 我對SQL真的很陌生,請注意。

我也剛剛意識到AS [Under 12]AS [13-18]無法正常工作,我也不知道為什么

第一:您使用的語法不是有效的SQL,因為您有多個不允許的FROM子句; 這同樣適用於where子句,該子句對整個集合進行操作。

您不能僅將SQL的零碎片段和補丁打成一片,以得到有效的查詢-必須遵守一個相當嚴格且定義明確的語法。

您想要的是使用返回標量值的子查詢或使用條件計數:

SELECT  
  COUNT(IIF(Age<=12,age,null)) AS [Under 12] 
 ,COUNT(IIF(Age BETWEEN 13 AND 18,age,null)) AS [13-18]  
FROM Members

同樣, FROM Members AS [13-18]為表而不是列分配別名。

使用子查詢(我想這可能是您的意圖):

SELECT DISTINCT
    (SELECT COUNT(*) FROM MEMBERS WHERE AGE<=12) AS  [UNDER 12] ,
    (SELECT COUNT(*) FROM MEMBERS WHERE AGE BETWEEN 13 AND 18) AS  [13-18]
FROM MEMBERS

您還可以總結:

SELECT  
    Sum(Abs(Age <= 12)) AS [Under 12],
    Sum(Abs(Age BETWEEN 13 AND 18)) AS [13-18]  
FROM 
    Members

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM