一个记录集里面,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
%>
用两个记录集的话重复打开和关闭太浪费资源了,我想合并到一起来,该怎么写? 展开
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
%>
用两个记录集的话重复打开和关闭太浪费资源了,我想合并到一起来,该怎么写? 展开
展开全部
以下是手写代码,可能有错。主要思想是把两次要查的数据一次全检索出来,然后用判断把相应的信息显示出来。希望对你有用。
<%
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
%>
<%
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
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个结果集不是一样的,怎么能用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'
还是这样.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'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select id,class from table where class=1
union all
select id,demo from table where demo='ann'
class和demo数据类型要一致,否则要转化为相同类型哦。
union all
select id,demo from table where demo='ann'
class和demo数据类型要一致,否则要转化为相同类型哦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果要是考虑资源浪费,你这种写的方式本身就是个错误,业务跟视图完全没有分开。
个人建议,为了统一维护的方便,牺牲下资源也是ok的。防止你以后维护这段代买很费劲。
加上感觉你的这个数据量也不是太大,表结构不是太复杂,还是分开写吧,
这样比较清晰,明了!
个人建议,为了统一维护的方便,牺牲下资源也是ok的。防止你以后维护这段代买很费劲。
加上感觉你的这个数据量也不是太大,表结构不是太复杂,还是分开写吧,
这样比较清晰,明了!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我太明白你的问题,如果是连接的话,那么可以写长点,或者加括号,在用工具自带的格式化,调整下就OK了,要是查询的话,那么就是从里面往外面查,就像是包装和一样,一层层的 套!有什么疑问的话,可以向我咨询,谢谢采纳,O(∩_∩)O~,!本来来自web精英团
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询