|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
[ASP]关于多字段判断数据重复的值
现在有一个表,有字段A(代表产品类别,有4种类别),字段B(代表产品包装,有6种包装形式),字段C(代表产品口味,有7种口味)。
现在有以下的值:
字段A 字段B 字段C
0 1 0
0 0 0
0 1 1
1 2 0
1 2 1
1 0 0
如何筛选出A与B组合后不重复的值?像上面有6组值,实际上根据A与B的组合判断不重复的值后只有4组,如下:
字段A 字段B 字段C
0 1 0
0 0 0
1 2 0
1 0 0
有两个是重复的,不读出。因为程序已经写好,不想改程序,不知道用ASP可以实现这种的筛选?
如果根据字段A的不同我知道用:
sql="select distinct A from table"
就可以读取,要根据两个字段A与B如何实现?
请大家级点思路! |
SELECT DISTINCT a,b,c FROM table WHERE (a>-1 and b>-1)
只是随手写了一下,没作过任何测试 |
SELECT DISTINCT a,b,c FROM table
我试了用这个写,开始是提示有错误,后来再细检查,重新写,结果读出来的数据最后少一个,就是字段A与B不成组,不成对,正常是应该成对的,最后的A有值,B没有,实际上数据里面有. |
[code]
set rs=server.createobject("Adodb.recordset")
sql="select distinct classname,bzs from thjt_News where yy='cn'"
rs.open sql,conn,1,1
do while not rs.eof
set rs1=server.createobject("Adodb.recordset")
sql1="select * from thjt_News where (classname="&rs("classname")&" and bzs="&rs("bzs")&") and yy='cn'"
rs1.open sql1,conn,1,1
do while not rs1.eof
c=rs1("title")
response.write c
response.write "<br>"
rs1.movenext
loop
rs.movenext
loop
[/code]
为何RS1读出的值还是全部的数据的?没弄懂得,我输入上面的数据,这回是正常的,读取的是不重复的几组值,是正常的8组,但要再读出这8组的相信信息?怎么读取?我中间的读取不正确?读取的还是全部的数据,感觉后面的判断条件没有起作用? |
|