我在MySQL中构建了这个查询,但是它返回了错误。我尝试过切换<>运算符!=没有运气,以及更改AND运算符的顺序。我确信这很简单,但我一直用它来绞尽脑汁!如果我删除部门不等于'条件它编译,但重要的是它在那里。
SELECT id,event,start_date,type, department
FROM eventmanager_events
WHERE status='Scheduled'
AND start_date > CURDATE()
AND type='Conference'
AND department<>'Human Resources'
ORDER BY start_date
我是社区的新手,所以请不要没有充分的理由向我投票。我希望这是一个正确构建的问题。谢谢大家!
编辑:我已删除&#39;类型&#39;条件,但它仍然无法正确编译。EDIT2:我收到的错误,我不确定原因是:
&#34;您的SQL语法出错了;检查与您的MySQL服务器版本相对应的手册,以便在“预定”附近使用正确的语法。 AND start_date&gt; CURDATE() AND type =&#39;会议&#39;在第3行&#34;
EDIT3:我想我已经解决了这个问题。该部门&#39; column为NULL,没有默认值。我已经改变了部门的数据库结构&#39;字段不允许带有&#39; null&#39;默认值。一旦我改变了这个,查询就会正常运行。我不确定为什么会这样,也许是字符串比较呢?无论哪种方式,都是固定的!再次感谢大家。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可能希望格式化查询以了解哪个AND是独立的
SELECT id,event,start_date,type, department
FROM eventmanager_events
WHERE status='Scheduled'
AND start_date > CURDATE()
AND type='Conference'
AND department<>'Human Resources'
ORDER BY start_date