现有三个表,soke_class,soke_note,soke_article 我先通过语名在:set rs=conn.execute("select zlid from soke_article order by addtime desc") 然后查找表soke_note中列id等于rs("zlid")的记录,表soke_note中的列对应表soke_class中的class列,语法如下,错在那里? abc=rs(0) set rs1=conn.execute("select soke_class.class,soke_note.zhonglei from soke_note inner soke_class on soke_note.zhonglei=soke_class.id where id='"&zlid&"'")
我的整段代码如下: <%set rs=conn.execute("select top 5 * from soke_article order by addtime desc") do while not rs.eof zlid=rs("zlid")
set rs1=conn.execute("select soke_class.class,soke_note.zhonglei from soke_note inner soke_class on soke_note.zhonglei=soke_class.id where id='"&zlid&"'") response.Write rs1("soke_class.class") rs.movenext loop %>
select soke_class.class,soke_note.zhonglei from soke_note inner soke_class on soke_note.zhonglei=soke_class.id where id='"&zlid&"'
id字段类型如果是自动编号或者是数字型不能用单引号,直接双引号 多表查询你可以试试 select soke_note.id as nid,soke_article.zlid as aid,soke_note.zhonglei,soke_class.class as ccalss,soke_class.id as cid where soke_note.zhonglei=soke_class.id and ,soke_note.id=soke_article.zlid
真搞不清楚了,我把我表的结构放上来. 表单名: soke_class soke_article soke_note 表列名: id id id (都是自动编号) class zlid zhonglei regname number register regusername addtime addtime 我要达到的目的是:按addtime查询article表,取最后添加的五条记录,显示zlid等于soke_noge表中的id(id要转换成soke_note中的zhonglei对应表的soke_class表中的class)
我按楼上的方法改了下,如下: <%set rs=conn.execute("select top 5 * from soke_article order by addtime desc") zlid=rs("zlid") do while not rs.eof rs1=conn.execute("select class from soke_class where id in(select id from soke_note where zhonglei='"&zlid&"')") response.Write rs1(0) response.Write" <br/>" rs.movenext loop
<% set rs=conn.execute("select top 5 * from soke_article order by addtime desc") zlid=rs("zlid") if not (rs.bof and rs.eof) then rs.movefirst do while not rs.eof rs1=conn.execute("select class from soke_class where id in(select id from soke_note where zhonglei='"&zlid&"')") response.Write rs1(0) response.Write" <br/> " rs.movenext loop end if rs.close set rs=nothing %> 添加内容看看是不是好了