现有表定义如下
table1
cID                     cName                iPeriod            ....
101                     现金                 1                  ....
101                     现金                 2                  ....
101                     现金                 3                  ....
101                     现金                 4                  ....
101                     现金                 5                  ....
101                     现金                 6                  ....
101                     现金                 7                  ....
101                     现金                 8                  ....
101                     现金                 9                  ....
101                     现金                 10                 ....
101                     现金                 11                 ....
101                     现金                 12                 ....
102                     银行存款             1                  ....
102                     银行存款             2                  ....
102                     银行存款             3                  ....
102                     银行存款             4                  ....
102                     银行存款             5                  ....
102                     银行存款             6                  ....
102                     银行存款             7                  ....
102                     银行存款             8                  ....
102                     银行存款             9                  ....
102                     银行存款             10                 ....
102                     银行存款             11                 ....
102                     银行存款             12                 ....
...........
===================================================
现要求每一种科目只出现一个,但需要包含其它所有字段
结果如下:
cID                     cName                iPeriod            ....
101                     现金                 1                  ....
102                     银行存款             12                 ....
=====================================================
如何实现?

解决方案 »

  1.   

    不会只是要求的这句吧:select distinct cID,cName...感觉楼主还有话没说明白
      

  2.   

    cID                     cName                iPeriod            ....
    101                     现金                 1,2,3,...               ....
    102                     银行存款             12,13,...                 ....楼主的意思是这样的吧..
    可能要用游标..
      

  3.   

    晕。是我语言没学好呢?还是什么,怎么没有人明白呢?
    如果用mtu207(比猫大的猫) 说的:select distinct cID,cName...的话,那么,它出现的101相关的记录就有许多。而不是只有一条。
    因为后面还有字段,并且字段不会是一样的记录。
    我所要查询的是个科目ID只查询出一条记录,对于字段不进行任何处理。而且不用管它具体是第几条。
    当然,purple_tide(锦)说的,也不是我的原意。:(
    to:yurongsheng(巴西球星) 对任何字段都没有要求,要求就只是取出cID不同的记录。
      

  4.   

    这个意思!??
    select * from 表 T where iPeriod=(select min(iPeriod) from 表 where T.cID=cID and  T.cName=cName )
      

  5.   

    那么都取第一条怎么样?
    select top 1 a.* from table1 a,table1 b where a.cID=b.cId and a.cName=b.cName
      

  6.   

    select cID, cName, min(iPeriod) from  table1 group by cID,cName
      

  7.   

    select cID, min(cName), min(iPeriod),min(...) from  table1 group by cID
      

  8.   

    随机取一条:select a.* from table1 a where a.iPeriod=(select top 1 iPeriod from table1 where cID=a.cID order by newid())
      

  9.   

    select * from table1 a where iperiod=(select top 1 iperiod from table1 where
    cid=a.cid)