我的sql语句导致零

时间:2017-09-28 04:34:52

标签: sql ms-access

SELECT COUNT (Age) AS TwentyToTwentyNineYearOlds
FROM [Copy Of SurveyData]
WHERE Age = 20-29 AND TravelLength = '2+ weeks';

这是我的sql语句。我正在寻找有兴趣去旅行超过2周的二十到二十九岁的孩子。在我使用的数据库中,实际数据是2周以上,我不是在寻找Weeks>每次我跑这个我都会得到0.请告诉我我做错了什么。我已经检查过使用数据库过滤器,应该有2个显示而不是零。我正在使用Microsoft Access数据库。年龄数据称为20-29。

我已经通过在20-29附近添加报价来修复此问题。

2 个答案:

答案 0 :(得分:3)

您的表达式Age = 20-29会生成此表达式:Age = -9。 MS Access进行算术计算,因此您正在搜索年龄为-9岁的人。你需要做的是:

SELECT COUNT (Age) AS TwentyToTwentyNineYearOlds
FROM [Copy Of SurveyData]
WHERE Age >= 20 and Age <=29 AND TravelLength = '2+ weeks';

或使用BETWEEN运算符:

SELECT COUNT (Age) AS TwentyToTwentyNineYearOlds
FROM [Copy Of SurveyData]
WHERE Age BETWEEN 20 and 29 AND TravelLength = '2+ weeks';

答案 1 :(得分:0)

所以我认为您可能应该逐步构建查询。我假设您正在使用查询设计视图,而不是实际手动编写sql语句。

首先,我会做一个基本的选择查询,而不是一个计数,只有一个标准 - 而不是多个。理智检查你的结果并从那里开始。

www.CahabaData.com