【问题标题】:Executing SQL query in Java for which Sub query result is already fetched separately在 Java 中执行 SQL 查询,其子查询结果已单独获取
【发布时间】:2020-11-11 06:58:20
【问题描述】:

是否可以在 Java 中执行已经获取子查询结果的 SQL 查询

例如假设我有一个查询

SELECT A.NAME FROM (SELECT NAME, CLASS FROM ABC_TABLE) A WHERE A.CLASS = 1;

我想要的是,如果我单独执行子查询,即,

SELECT NAME, CLASS FROM ABC_TABLE

我从结果集中得到的结果将根据一些 Java 计算进行修改,然后需要将修改后的结果传递给第一个主查询。

有没有可能。

注意:上面给出的示例是一个示例。实际上,子查询非常大,有 300-400 行,主查询也是如此

【问题讨论】:

  • 将子查询选择到临时表中,然后检索和更改这些数据,最后在主查询中使用它。或执行子查询并检索/处理数据,将处理后的数据保存到临时表中并使用。 基于一些 Java 计算也许这个计算可能由 MySQL 执行?

标签: java mysql sql jdbc


【解决方案1】:

使用别名对其进行排序。以下是我使用的查询,它正在工作:

Select * from (select * from 
              (select * from school.questionbank where class='class-II' 
               AND Subject='Physic') A 
               where chapter='chapter 1') B 
where isMCQ=1;

注意A和B是SQL在内存中创建的临时表

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多