好像不难吗?还是我理解得太简单了?select w.* from worker w, products p where p.color='RED' AND
p.eid = w.eid;
p.eid = w.eid;
解决方案 »
- 新手求助啊!PB11.5 + ORACLE 10G
- oracle两个数据库中的表的同步问题 ?
- oracle ORA-01008: 并非所有变量都已绑定
- 求助啊,高手们
- The Network Adapter could not establish the connection
- 关于一条Sql语句 判断期间
- 如何取得当前插入数据库中的这一记录的ID?
- 《Oracle与Java从客户/服务机到电子商务》这本书这么样?
- oracle9i for windows 有没有sqlplus 帮助?
- Oracle table insert data
- 如何才能把mysql的数据导入oracle 9i上?
- 请各位大虾帮我写个SQL语句,在线等,急急急急急急急急!
为什么要判断每个工人在这表有没有记录?没必要吧。
一个工人如果在product表中没有记录,说明他不做任何产品,自然也不会
做红色产品。楼上语句完全可以解决(1)的问题,是不是难的在后面?
(select eid, count(distinct pid) pid_num from products
where color='RED' group by eid ) a,
( select count(distinct pid) pid_num from products
where color='RED') b
where a.pid_num = b.pid_num and w.eid = a.eid;
select eid, count(distinct pid) pid_num from products
对pid之所以使用distinct,是因为不知到products表的主键是什么,
估计count(*)也可以。