我有2个ResultSet得到查询的数据
rs1,rs2
这些结果集最大行数是4行,第一列的显示固定的,但是有些结果集可能只有2行或者三行。
我想要将这些数据显示在一个表格里面。
比如rs1有4行,
上海 1
南京 2
广州 3
北京 4rs2有2行
上海 3
北京 5
如何表格里面显示为上海 1 3
南京 2  
广州 3
北京 4 5请问jsp里面代码应该怎么写?效果就像sql里面的左连接一样。

解决方案 »

  1.   

    while(rs1.next() && rs2.next() && rs3.next() && rs4.next()){ <tr>
        <td><%=rs1.getString(1)%></a></td>
        <td><%=rs1.getString(2)%></a></td>
        <td><%=rs2.getString(2)%></a></td>
    </tr>  }这上面应该怎么修改?如何循环嵌套?
      

  2.   

    不是只有r1,r2吗.  
    <%  rs1.last(); //结果集指针知道最后一行数据
            int r1 = rs1.getRow();
            rs2.last(); //结果集指针知道最后一行数据
            int r2 = rs2.getRow();
            rs1.beforeFirst();//将结果集指针指回到开始位置,这样才能通过while获取rs中的数据
            rs2.beforeFirst();//将结果集指针指回到开始位置,这样才能通过while获取rs中的数据        if(r1>=r2){//如果r1行数大于r2行数,则以r1为外循环
                while(rs1.next()){%>
                    <tr>
                    <td><%=rs1.getString(1)%></a></td>
                    <td><%=rs1.getString(2)%></a></td>
                    <%while(rs2.next()){
                        if(rs2.getString(1).equals(rs1.getString(1))){%>//如果名称相同
                            <td><%=rs2.getString(2)%></a></td>
                     <%   } 
                        }%>
                  </tr>
                  
                  <% } 
            }else{%>
                while(rs2.next()){%>
                <tr>
                <td><%=rs2.getString(1)%></a></td>
                <td><%=rs2.getString(2)%></a></td>
                <%while(rs1.next()){
                    if(rs1.getString(1).equals(rs2.getString(1))){%>//如果名称相同
                        <td><%=rs1.getString(2)%></a></td>
                 <%   } 
                    }%>
              </tr>
              <% } 
            }%>大概思路就这样了,没运行过,不知显示效果如何