繁体   English   中英

我想在Java Eclipse中使用JDBC从上一个查询对ResultSet执行另一个SQL查询

[英]I want to execute another SQL query on the ResultSet from the previous query using JDBC in Java Eclipse

我有一个刚刚在班级分配的JDBC项目,我们应该通过JDBC Java Eclipse对我们的大学数据库执行此查询:

SELECT dept_name, COUNT(*) AS COUNT FROM student GROUP BY dept_name;

并使用返回的resultSet查询结果集:

HAVING COUNT = (SELECT MAX(ACOUNT) AS MAXCOUNT
                FROM (SELECT dept_name, COUNT(*) AS ACOUNT
                      FROM student GROUP BY dept_name) AS ATable);

我在我的书中和通过google浏览了所有内容,但找不到有关如何执行此操作的示例教程。 你们可以指向我的任何链接/文档还是一个起点?

解决方案编辑:我终于从老师那里得到澄清,他的意思是在我的Java程序中执行SQL语句并遍历结果并使用Java筛选出第二条SQL语句附加到原始SQL语句时将获得的相同信息。声明。 感谢那些花时间尝试和帮助的人。

您的作业仅提供伪代码,并且“执行”一词必须是错误的。 正如其他人所建议的那样,“对结果集执行查询”没有任何意义。

假设您的导师意味着“过滤掉”,则可能希望您运行两个单独的语句( SELECT dept_name...SELECT MAX(... ),然后在第一个结果集上进行迭代以搜索与第二个结果匹配的结果组。

伪代码:

RSet1 = query("SELECT dept_name, COUNT(*) AS COUNT FROM student GROUP BY dept_name;");
RSet2 = query("SELECT MAX(ACOUNT) AS MAXCOUNT ...");
RowInR2 = RSet2[0]; // first and only row

foreach RowInR1 in RSet1
    if (
        RowInR1.count = RowInR2.maxcount
    ) {
        return RowInR1; // this is your result
    }
}

请记住,除了教育目的之外,这种方法是荒谬的。 只需一个查询就可以提取该数据(单行),而无需提取并解析[Query 1]的结果(此查询是您的两个查询的精确串联)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM