要求结果是什么,表中有无唯一标识的字段,假设有
select * from tt a where exists(select 1 from tt where a.f1=f1 and a.f2=f2 and a.id<>id)

解决方案 »

  1.   

    sorry,我没写清楚。在这里补充下。
       字段1    字段2    字段3    字段4
    1   a             b            c           d
    2   a             c             b           b
    3  a            b            c            c
    4  a             c            c             c
    5  a            b            b            b
    这是5条数据我需要的是经过查询,可以返回数据,第一次返回 1,3,5,因为他们的字段1和字段2是一样的。
    第二次返回2,4就类似这个表格是订单行项目,需要整理整个表格,将字段1和字段2相同的数据查出来。再由程序处理成订单合并不知道描述清楚了没,是整理这个表格,生成两个表格的意思。把行项目和头分开
      

  2.   

    select * from tt a where exists(select 1 from tt where a.f1=f1 and a.f2=f2 and a.id<>id)
    order by f1,f2
      

  3.   

    生成表格只是个比喻,因为还有很多字段通过其他途径赋值,现在需要的是把 1,3,5   和 2,4   分别查询出来给List由程序处理不知道说明白了没
      

  4.   

    select * from table1
    order by 字段1,字段2
      

  5.   

    谢谢您的回复。其实我觉得一条sql是查不出来的,结果就好像很多个List一样,每个list里的数据
    字段1    字段2  相同是他们的共性
      

  6.   

    我想到了一点。先用
    SELECT t.type,t.status,COUNT(*) FROM test_order t GROUP BY  t.type , t.status这样就知道有哪几种单据头。type,status相同的单据就查出来了,得到一个list
    然后循环list查询数据库,就得到了行。我的描述导致大家对我的需求不是很了解。