现有表定义如下
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 ....
=====================================================
如何实现?
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 ....
=====================================================
如何实现?
101 现金 1,2,3,... ....
102 银行存款 12,13,... ....楼主的意思是这样的吧..
可能要用游标..
如果用mtu207(比猫大的猫) 说的:select distinct cID,cName...的话,那么,它出现的101相关的记录就有许多。而不是只有一条。
因为后面还有字段,并且字段不会是一样的记录。
我所要查询的是个科目ID只查询出一条记录,对于字段不进行任何处理。而且不用管它具体是第几条。
当然,purple_tide(锦)说的,也不是我的原意。:(
to:yurongsheng(巴西球星) 对任何字段都没有要求,要求就只是取出cID不同的记录。
select * from 表 T where iPeriod=(select min(iPeriod) from 表 where T.cID=cID and T.cName=cName )
select top 1 a.* from table1 a,table1 b where a.cID=b.cId and a.cName=b.cName
cid=a.cid)