日期:2014-05-17  浏览次数:21142 次

请教一个Access的两个表联合查询怎么写SQL语句
表gq:信息表
gq_id         信息编号
gq_name 信息标题
gq_catid   小类编号

表gq_cat:类别表,包括大类和小类
gq_catid   类别编号
gq_catname   类别名称
sid             大类值为0,小类值为所属大类的gq_catid值

现建立一个函数通过大类的编号得到该大类下的前数条信息
参数classid:大类编号
参数num:所取信息数目
<%
sub   gq_new(classid,num)
sqlgq= "SELECT   top   "&num& "   gq.gq_name,gq.gq_id   FROM   gq,gqcat   where   gq.gqcat_id=gqcat.gqcat_id   and   gqcat.sid= "&classid& "   order   by   gq.gq_id   desc "
set   rsgq=server.createobject( "adodb.recordset ")
rsgq.open   sqlgq,conn,1,1
do   while   not   rsgq.eof
        Response.Write   rsgq( "gq.gq_name ")
        Response.Write   " <br> "
rsgq.movenext
loop
rsgq.close
set   rsgq=nothing
end   sub
%>
请问SQL语句错在哪里?谢谢!急用,100分相赠!

------解决方案--------------------
sel= "select gq.*,gq_cat.* from gq inner join gq_cat on gq.gq_catid=gq_cat.sid order by gq_cat.gq_catid desc "
------解决方案--------------------
你的语句没有错.但你可以试试这种方法

SELECT top 10 gq_name, gq_id FROM gq where gq_catid in(select gq_catid from gq_cat where sid = "& classid
------解决方案--------------------
sqlgq = "select top "&num& " gq_name from gq where gq_catid in (select gq_catid from gq_cat where sid= "&classid& ") "
------解决方案--------------------
错误提示?