distinct 是取得所有查询字段不重复的记录。而您要的是出报表时不显示后面的重复值,只能用特殊方法,我想,您可以通过第三列或者某一列是否为空来确定是否显示第二列的值,这样你看是否可以:
SELECT FIELD1,FIELD2=CASE WHEN FIELD3='' THEN '' ELSE FIELD2 END,FIELD3,FIELD4,FIELD5,FIELD6 .....FIELDN from tablename --注:请将FILED1,2,3,N等换成你表中的字段。
distinct是对行结果的distinct
只要你行数据里面有一列不同,就认为是2行了
sql 2000是比较难实现的,如果有个类似id列的key
可以考虑当id = 最小的时候,为第二列数据,否则为null
你也没有主键或编号之类的字段吗?如果有的话可以
select top 1 from (select top 2 from ....order by 编号 ) order by 编号 desc
这样来实现查询第2行数据
只要你行数据里面有一列不同,就会有问题出现的啊
你就只查第二列不就可以了么?