java - java中mysql查询的SELECT中的SELECT

标签 java sql

前两个“AND”语句完美地工作。当我尝试导入第三个时,我没有得到任何输出。

PreparedStatement pst=con.prepareStatement("SELECT * FROM album WHERE (Album_Title LIKE ?) AND (instrument LIKE ?) AND (ID_album ==(SELECT ID_album FROM song WHERE Song_Title LIKE ?))");
pst.setString(1,"%" + title_key + "%");
pst.setString(2,"%" + instr_key + "%");
pst.setString(3,"%" + song_key + "%");


ResultSet rs=pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));

最佳答案

您可以尝试使用“IN”来代替 ==。不确定是否有帮助,但你可以尝试。另外,检查数据库中是否存在条目。

关于java - java中mysql查询的SELECT中的SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671617/

相关文章:

sql - 如何获取单列姓名首尾相同的学生列表

sql - 为什么增加索引会增加成本?

java - LibGDX:修复表格背景可绘制

java - hibernate/spring jpa 中是否有任何设置来应对 Hibernate 和 Spring JPA 的连接失败和重新连接

java - 哪种传输 JSON 数据的方式更优化?

mysql - 如何从多个表中只获取特定记录?

java - 迭代器是否给我一个深拷贝?

java - 如何在Java 8中访问流的元素,或返回流的一个元素?

sql - 将字符串转换为具有非标准值的日期时间格式

mysql查询同一报告的不同部分(聚合和详细信息)