jdbc如何实现将第一次查询的结果集作为第二次查询的条件 5C

如题。请教方法。另外自学java。方向Web 后台,没有系统的学习框架,求大神推荐合适的书籍

18个回答

select * from tb_user where pid in ( select id from tb_user where name like '%小张%')

maiyikai
maiyikai 这才是正确的
接近 2 年之前 回复

子查询,在第一次查询的结果集外面包裹一层查询应该就可以了
select * from 表名 where (结果集条件)

《Java开发实战经典》

**select * from tablename where id in (select id from tablename where name like '%xxx%') and sex='male' **供您参考

select * from 表名 where (select * from 表名 where 条件)

select a.* from 表名 a where a.b = (select c.d from 表名 c where 条件)

如果是想通过JDBC的Java代码将上一次查询结果集当做下一次查询的条件,只能先把返回结果ResultSet值取出来然后再设置PreparedStatement中

可以进行Sql语句嵌套,将第一次查询的结果嵌套在where字句后面

select * from user_acount where uid in (select uid from user)

在循环里面套循环 while(rs.next())的时候,在里面重新再new一个ResultSet,然后把上一个rs的结果赋值给这个即可。

meiceatcsdn
那些起舞的日子 回复aliyacl: 1.你只有2次循环赋值结束,然后整个实体类才算赋值完毕,这个时候直接扔到List集合中就可以了;2.还有一种方法可以避免你这种嵌套赋值的方法:在SQL语句上下功夫。多表联查,字段直接通过SQL语句搞定,不用再遍历的时候赋值,直接传SQL就可了。
接近 2 年之前 回复
aliyacl
aliyacl 我也是这样想的,一个实体类,但是结果集是封装在实体里,第二个循环的结果集怎么封装至对应的实体类里?
接近 2 年之前 回复
共18条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问