[英]Syntax error (comma) in query expression of SQL Statement in MS Access 2007
[英]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.