题目是这样的:
已知:供应量表SPJ,包含四个列:SNO(供应商号),PNO(零件号),QTY(供应量);
求这样的供应商号,对于该供应商供应的每个项目,其所供应的零件的数量都达到或超过200,并且该供应商供应零件两种以上(含两种)。
我是这样写的:SELECT SNO
FROM SPJ
GROUP BY SNO
HAVING COUNT(DISTINCT PNO)>=2
HAVING QTY>200;
最后有错误,请大家帮帮忙,我的错在哪,另外正解是怎样的?(刚开始学,很什么都不会,大家见笑了)
已知:供应量表SPJ,包含四个列:SNO(供应商号),PNO(零件号),QTY(供应量);
求这样的供应商号,对于该供应商供应的每个项目,其所供应的零件的数量都达到或超过200,并且该供应商供应零件两种以上(含两种)。
我是这样写的:SELECT SNO
FROM SPJ
GROUP BY SNO
HAVING COUNT(DISTINCT PNO)>=2
HAVING QTY>200;
最后有错误,请大家帮帮忙,我的错在哪,另外正解是怎样的?(刚开始学,很什么都不会,大家见笑了)
解决方案 »
- 如何查看ThreadDump文件
- 为何我连接数据库出现这样子的错误??
- 急求怎样由byte[]构造Image对象用于绘图
- 一个replace的问题
- Java里<和<有什么区别??
- 用 appletviewer 可以正常的显示applet,但是在ie里面却不能显示
- 请教如何用java读取word,xls文档,高分!
- 我是VC程序员,初学JAVA,请问VC的MESSAGEBOX在JAVA里是什么啊
- import 语句该如何用?
- HTTP Status 404 - /Test/userLogin.action
- 论全世界所有程序员都会犯的错误-----有关类的构造
- 再问eclipse编写junit的问题?
FROM SPJ
WHERE
GROUP BY SNO
HAVING COUNT(DISTINCT PNO)>=2
FROM SPJ
WHERE QTY>200
GROUP BY SNO
HAVING COUNT(DISTINCT PNO)>=2
FROM SPJ
WHERE QTY>200
GROUP BY SNO
HAVING COUNT(DISTINCT PNO)>=2;
那么如果供应商供应3种零件,其中两种零件的的数量都达到或超过200,另外一种的数量只有100,按这个方法也会显示出这个供应商是符合题意的,然而题目所说的是供应的零件的数量都达到或超过200,就是说所有的都超过了200。这样结果就不符合要求了。???????
from spj
where sno not in(select sno from spj where qty<200)
group by sno
having count(distinct pno)>=2不过较早的MySQL版本好像不支持子查询。此外,你说有4列,但是只给出了3列?
你用是的子查询啊,呵呵,我知道了,谢谢louisXIV了!