比如dollar表字段如下:
id type money
1 a 100
2 b 200
3 c 300
4 d 400
5 e 500
我想查询(type not in(a)但sum(money)>=300 )且(type in(c,d)但sum(money)<300 )中所有的结果
我写的sql如下:执行时提示"关键字 'group' 附近有语法错误。",请教达人是哪里错了,正确是怎么写的。
select id from dallar
where type not in(a) group by id having sum(money)>=300
and type in(c,d) group by id having sum(money)<=300
可以肯定的是,我要查询的内容逻辑上是没问题的,只不过我写的查询sql:
select id from dallar
where type not in(a) group by id having sum(money)>=300
and type in(c,d) group by id having sum(money)<=300
(按照我的要求,最后一句应该是<300,而不是<=300)
-------------------------------------------------------------------------------------------
经本人实际验证,“落月Prc ”同学提供的解决sql是完全正确的,而“ytbelwxg ”同学提供的方案,一开始我也以为是正确的,但不知道为什么实际验证时确实不对,不知道“Union”这种语法是不是不能用在同一张表中还是别的原因,也希望有达人给出为什么不对的解释。
1、在计算机中,打开Foxtable软件,新建一个表格,比如学生的评价成绩表,并输入数据,如下图所示。
2、接着,鼠标左键单击选择菜单下的【杂项】,如下图所示。
3、 然后,在菜单栏目中,鼠标左键单击【SQL查询】,如下图所示。
4、接着,在【SQL查询】窗口上,选择数据源,如下图所示。
5、然后,在【SQL查询】窗口上,输入SQL查询语句,如下图所示。
6、 接着,在表格的预览中,可以看到通过查询语句所显示的数据了,如下图所示。