关于foxpro 查询的语句的问题
谁能告所我为什么下面的查询语句 一和二
一、 select js.zc, zzmm.mc, count(*) as 人数;
from jxsj!js inner join jxsj!zzmm;
on js.zzmm= zzmm.dm;
where js.zc='教授' or js.zc= '副教授';
group by js.zc, zzmm.mc;
二、 select js.zc, zzmm.mc, count(*) as 人数;
from jxsj!js inner join jxsj!zzmm;
on js.zzmm= zzmm.dm;
group by js.zc, zzmm.mc having js.zc='教授' or js.zc= '副教授'
查询结果是一样的,而三、和四、
三、 select js.zc, zzmm.mc, count(*) as 人数;
from jxsj!js, jxsj!zzmm;
where js.zzmm=zzmm.dm and js.zc = '教授' or js.zc= '副教授';
group by js.zc, zzmm.mc
四、 select js.zc, zzmm.mc, count(*) as 人数;
from jxsj!js, jxsj!zzmm;
where js.zzmm= zzmm.dm ;
group by js.zc, zzmm.mc having js.zc= '教授' or js.zc= '副教授'
的查询结果不一样,特别是三、查询结果完全错误,why?
原题是:js(教师)表中有:zzmm(政治面貌代码)、zc(职称)等字段,视图zzmm(政治面貌对照)中有:dm (政治面貌代码)、mc(政治面貌名称)字段 。现要统计职称为“教授”、或“副教授”的各类政治面貌的人数,要求:输出职称、政治面貌名称和人数(zc、mc和rs)。
谢谢!
追问:谢谢您的回答!对于此题我搞明白了。但我对于筛选条件语句放在 whereh 后,还是放在having 之后,还是放在哪都可以?不是太清楚,恳请您能给我解答一下,谢谢!
答案:三中,where 错了,
改成
where js.zzmm=zzmm.dm and (js.zc = '教授' or js.zc= '副教授');
上一个:visual foxpro合并记录
下一个:求Visual FoxPro 6.0 简体中文版 1569805197@qq.com 急急急!!!