这个sql嵌套查询怎么实现?
A表 id,username,log_content,......
B表 id,match_id,opinion
其中A表存储是日志信息,id是自动增加的
B表存储的日志的评论信息,可能针对每个日志有很多的评论
现在要实现一个把某人最新的10条日志信息显示出来,并显示B表中针对某个日志有多少条纪录。
定义两个stmt对象,两个Rst,正确打开了数据库
rst=stmta.exeQuery(sqlstring);
while rsta.next(){
...
rstb = stmtb.exeQuery(..count()*.....where match_id = 'rsta.getInt("id")');
..循环输出
}
但是出现[Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt错误提示,如果只用一个stmt对象,出现ResultSet is closed提示,请问如何解决?
代码如下:
<%
java.sql.Statement Stmtmark;
Stmtmark = Con.createStatement();
java.sql.ResultSet Rstmark;
String username = session.getAttribute("username").toString();
String sqlsearch = "select top 10 log_date,log_filtime,id from log_info where username = '"+username+"' order by id desc";
Rst = Stmt.executeQuery(sqlsearch);
String tempstr_1;
String tempstr_2;
int tempid;
int nummark;
String sqlmarksearch;
while (Rst.next())
{
tempstr_1 = Rst.getString("log_date");
tempstr_2 = Rst.getString("log_filtime");
tempid = Rst.getInt("id");
sqlmarksearch = "select count(*) from opinion where match_id ="+tempid;
Rstmark = Stmt.executeQuery(sqlmarksearch);
Rstmark.next();
nummark = Rstmark.getInt(1);
Rstmark.close();
%>
...............HTML...............
<%}
Rst.close();
Stmt.close();
//Stmtmark.close();
Con.close();
%>