一个记录集里面,SQL有多个不同的select语句,怎么合并在一起

<%setrs=server.createobject("adodb.recordset")sql="selectid,classfromtablewhereclass=... <%
set rs = server.createobject("adodb.recordset")
sql = "select id,class from table where class=1"
rs.open sql, conn, 1, 1
%>
<% do while not rs.eof %>
<li style="display: none; "><a href="knowledge.asp?id=<%=rs(0)%>" onclick="do_click();"><%= rs(2)%></a></li>
<%
rs.movenext
loop
rs.close
set rs = nothing
%>
<%
set rs = server.createobject("adodb.recordset")
sql = "select id,demo from table where demo='ann'"
rs.open sql, conn, 1, 1
%>
<% do while not rs.eof %>
<li style="display: none; "><a href="products.asp?id=<%=rs(0)%>" onclick="do_click();"><%= rs(2)%></a></li>
<%
rs.movenext
loop
rs.close
set rs = nothing
%>

用两个记录集的话重复打开和关闭太浪费资源了,我想合并到一起来,该怎么写?
展开
 我来答
乱世vs狂人
2011-09-15 · TA获得超过120个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:92.4万
展开全部
以下是手写代码,可能有错。主要思想是把两次要查的数据一次全检索出来,然后用判断把相应的信息显示出来。希望对你有用。

<%
set rs = server.createobject("adodb.recordset")
sql = "select id,class,demo from table where class=1 or demo='ann'"
rs.open sql, conn, 1, 1
%>
<% do while not rs.eof %>
<% if rs(1) = 1 then %>
<li style="display: none; "><a href="knowledge.asp?id=<%=rs(0)%>" onclick="do_click();"><%= rs(3)%></a></li>
<% end if %>
<% if rs(2) = 'ann' then %>
<li style="display: none; "><a href="products.asp?id=<%=rs(0)%>" onclick="do_click();"><%= rs(3)%></a></li>
<% end if %>
<%
rs.movenext
loop
rs.close
set rs = nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wggfcusmq
2011-09-15 · TA获得超过181个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:172万
展开全部
两个结果集不是一样的,怎么能用union呢.?
还是这样.select id,class,demo from table where class=1 or demo='ann'
然后在使用时再区分.

这个是asp的吧.
如果是.net ,那完全可以直接执行两条sql,会返回两个结果集.
select id,class from table where class=1;
select id,demo from table where demo='ann'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-09-15 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
select id,class from table where class=1
union all
select id,demo from table where demo='ann'

class和demo数据类型要一致,否则要转化为相同类型哦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友93a4c33
2011-09-15 · TA获得超过1496个赞
知道大有可为答主
回答量:1516
采纳率:0%
帮助的人:1318万
展开全部
如果要是考虑资源浪费,你这种写的方式本身就是个错误,业务跟视图完全没有分开。
个人建议,为了统一维护的方便,牺牲下资源也是ok的。防止你以后维护这段代买很费劲。
加上感觉你的这个数据量也不是太大,表结构不是太复杂,还是分开写吧,
这样比较清晰,明了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户23900
2011-09-16
知道答主
回答量:18
采纳率:0%
帮助的人:3万
展开全部
我太明白你的问题,如果是连接的话,那么可以写长点,或者加括号,在用工具自带的格式化,调整下就OK了,要是查询的话,那么就是从里面往外面查,就像是包装和一样,一层层的 套!有什么疑问的话,可以向我咨询,谢谢采纳,O(∩_∩)O~,!本来来自web精英团
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式