蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 数 据 库


    

蓝森林 http://www.lslnet.com 2006年8月26日 15:18


[求助] 怎么样才能把表中这些数据取出来?SQL 实现~

例子:
列名:
ID NAME AGE WEIGHT
01  a       22      30
01   a      23       30
02    b      23        35

举的例子可能不恰当,意思就这样:把这个表中ID,NAME相同的行都取出来,结果如下
                           01  a    22   30
                                         01   a   23    30
谢谢了
如果这个问题没人解决的了,或是不屑解决的话,鄙人将不再踏入这片土地

伤心啊!·

select * from t
where (id,name) in
(select id,name
from t
group by id,name
having count(*) > 1)

最好是用decode()比较好实现

版主的想法是没有错
不过语法好像有错误阿

因为where (id,name) in      好像where后面只能选取一个字段名阿,2个总是抱错啊。。。

郁闷,等待ing

这样可以吗?

select * from t
where (id||name) in
(select id||name
from t
group by id||name
having count(*) > 1)

John

楼上用的是什么语言啊?

||   这个符号起什么作用阿??

这个问题的确比较棘手阿~~

继续等待ing

还没解决就沉了,我顶上去

select b.*,a.AGE,a.WEIGHT from (select ID, NAME,count(*)  from D Group by ID NAME Having Count(*)>1)b,D as a where b.ID=a.ID(+) and b.Name=a.Name(+)
试试看……

SQL>  select a.* from test a,test b where a.id=b.id and a.name=b.name and a.rowid<>b.rowid;

        ID NAME       AGE                  WEIGHT
---------- ---------- -------------------- --------------------
         1 a          d                    s
         1 a          b                    c
         2 xd         ds                   ds
         2 xd         ds                   sds

SQL> select * from test;

        ID NAME       AGE                  WEIGHT
---------- ---------- -------------------- --------------------
         1 a          b                    c
         1 a          d                    s
         2 xd         ds                   sds
         2 xd         ds                   ds
         4 a          ds                   ds

|| 是连接符号。


John

-->

谢谢阿,这个方法应该可以

我试试



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com