当前位置: 首页 > 知识库问答 >
问题:

自定义SQL查询,将SELECT的结果插入Spring Boot JPA Hibernate中的表中

万俟旭
2023-03-14

我有一个使用JPA hibernate的spring boot项目。

我试图创建一个自定义查询,将选择的结果插入表中。我该怎么做?

这是我的SQL查询:

INSERT INTO aggregateTable

  (
    SELECT
      avgSalesA,
      avgSalesB,
      salesMade,
      tableA.employeeid
    FROM

      (
        SELECT
          avg(sales) as avgSalesA,
          count(salesMadeDaily) as SalesMadeTotal,
          employeeid
        FROM companyA
        GROUP BY employeeid
      ) tableA

    INNER JOIN

    (
      SELECT
        avg(sales) as avgSalesB,
        employeeid
      FROM companyB
      GROUP BY employeeid
    ) tableB

    ON tableA.employeeid = tableB.employeeid
  )

共有1个答案

邹嘉致
2023-03-14

您可以简单地使用JPA:

entityManager.executeUpdate("INSERT INTO aggregateTable (Select avgSalesA, avgSalesB, 
                             salesMade, tableA.employeeid FROM 
                             (SELECT avg(sales) as avgSalesA, count(salesMadeDaily) as 
                             SalesMadeTotal, employeeid FROM companyA GROUP BY 
                             employeeid) tableA INNER JOIN (SELECT 
                             avg(sales) as avgSalesB, employeeid FROM companyB group 
                             by employeeid) 
                             tableB ON tableA.employeeid = tableB.employeeid)");

或者如果您使用Spring数据存储库

@Modifying
@Query("<your insert query", nativeQuery=true)
public int insert();
 类似资料:
  • 本文向大家介绍Oracle将查询的结果放入一张自定义表中并再查询数据,包括了Oracle将查询的结果放入一张自定义表中并再查询数据的使用技巧和注意事项,需要的朋友参考一下 如下的实际例子代码可以将查询的结果放入到一张自定义表中,同时可以再从这个自定义的表中查询数据:

  • 问题内容: 我很难编写一个SELECT查询以获取下表中的数据… 这是桌子的照片… http://i44.tinypic.com/29dxx81.png 我正在尝试显示数量大于10的所有项目零件的零件名称(pname)。但是,数量似乎仅在子菜单展开时出现,并且我在选择它时遇到了麻烦… 谢谢 问题答案: 你有没有尝试过: 编辑:

  • 问题内容: 我有一个动态查询,执行时会给出带有很多列的结果。我想将来自此动态查询的结果插入到临时表中。我这样做是因为我想对临时表执行一些过滤并获得所需的结果。 在该线程中先创建一个临时表,然后使用插入数据。 由于列的列表太长,我想避免此步骤,而且我不知道字段的数据类型。 错误信息 关键字“ exec”附近的语法不正确。 这该怎么做 ?是否可以通过这种方式完成?如果不是,请指定其他替代方法以将执行动

  • 问题内容: 有关表格的概述如下: 我有一个表,可以称之为联接,它有两列,都是其他表的外键。让我们将两列称为userid和buildingid,以便join看起来像 我基本上需要在此表中插入一堆行。通过在此表中具有多个条目,将为每个用户分配多个建筑物。因此,可以通过以下方式将用户13分配到建筑物1、2和3 我试图弄清楚如果建筑物号是恒定的,该如何在查询中执行此操作,也就是说,我正在将一群人分配给同一

  • 问题内容: 我试图在扩展CrudRepository的存储库中执行一些SQL查询。我在控制器中有以下代码: DAO代码如下: 该类是: 投影为: 我对如何添加查询(诸如此类)感到困惑: 我如何更改投影,还有哪些其他必要的更改? 问题答案: 您可以将DAO更改为下面,这应该可以工作。 } 确保Bean类构造函数应具有传递的参数。 验证查询是否为有效的JPA查询(此处)。

  • 问题内容: 可以说在我的代码中我有用户名和一个值。现在,我需要将其保存在数据库中,但首先需要获取与该用户名相对应的ID,因为此表以pk / fk链接到users表。我该怎么做?我知道您可以执行INSERT(blah)SELECT等操作,但是看起来像是直接复制,我需要将SELECT的结果与fk列一起插入值。 用户表:[UserID(pk),用户名] 阿凡达表:[UserID(fk),AvatarUR