我也没有看懂。
不知道是不是这个:
select b.* from a,b where a.number=b.number group by b.pid having count(b.pid)>1
不知道是不是这个:
select b.* from a,b where a.number=b.number group by b.pid having count(b.pid)>1
解决方案 »
- 创建数据库小问题??
- Oracle如何连接到远程服务器
- Oracle正则表达式查询靓号
- Could we alter the database to an 'backup status' and then copy the datafiles ,logfiles and controlfiles by OS copy?
- 高分求解!
- 64位Win7上如何同时安装oracle 11g和10g
- 不同用户间的序列权限访问的问题,请高手帮忙!!!
- WE8ISO8859P1字符集是怎么回事??它支持中文,英文以外的其它字符集吗??比如韩文,日文等?
- 大哥!很简单的问题,就是不知道怎么写,哥哥帮帮我啊
- 请教一个Pro*C/C++编译的问题?
- RMAN使用疑惑,回答就送分!
- 在linux下安装oracle的问题。
如果是多个jiezhi(西域浪子)说的就没错,如果是一个则修改如下:
select b.* from a,b where a.number=b.number and b.pid = pid group by b.pid having count(b.pid)>1
然后,把B中所有PID相同的记录找出来,并不是要统计数量
然后从这条记录中得到B.PID,
并把B中所有PID都等于这条PID的记录找出来,并不是要统计数量
where exists (select 1 from a,b b2 where a.number=b2.number and b2.pid=b1.pid);
SELECT * FROM B WHERE
B。PID IN (SELECT B。PID FROM A,B WHERE A。NUMBER=B。NUMBER);
对吧。
( SELECT 1 FROM TAB_1 A, TAB_2 B WHERE A.NUMBER = B.NUMBER AND B.PID = C.PID )
( SELECT 1 FROM TAB_1 A, TAB_2 B WHERE A.NUMBER = B.NUMBER AND B.PID = C.PID )
SELECT * FROM B WHERE
B。PID IN (SELECT B。PID FROM A,B WHERE A。NUMBER=B。NUMBER);
对吧。
============================================================================
好象只有这个比较对,B.PID=C.PID的这种肯定是不对的
只有表B有PID字段不过我要写的其实比这个复杂得多,这个问题只是其中的一部分,给我时间试试再来结贴