javascript - 在 typeorm 中使用 select 插入

标签 javascript mysql typescript typeorm typeorm-datamapper

我想重现一个查询,其中的值是 typeorm 中选择的结果。 我要重现的查询是我在此处提供的查询,但我在 typeorm 文档中找不到任何内容。 (查询对答案的作用并不重要,我只需要知道如何在 typeorm 中编写“SELECT”)

http://typeorm.delightful.studio/classes/_query_builder_insertquerybuilder_.insertquerybuilder.html#values

INSERT INTO `furgpezzo`(`giacenza`, `giacenzaMin`, `pezzoBarcode`, `furgoneTarga`, `invStandardId`) 
    select '0', '5', '234234234234', f.`furgoneTarga`, '1'
    from `furgpezzo` f
    where f.`invStandardId` = '1'
    group by f.`furgoneTarga`

类似于:

(编辑:)

return await this.dmDatabase.getRepository(FurgPezzo)
    .createQueryBuilder()
    .insert()
    .into(FurgPezzo)
    .values(   //here put my select   )

最佳答案

这是我能想到的最巧妙的解决方案,希望它能帮助 future 的探索者。回答评论启发了我。

const [selectQuery, params] = this.entityManager
  .createQueryBuilder()
  .select("user.name")
  .from(User, "user")
  .where("user.id IN (:...ids)", {
    ids: [
      "87654321-1234-1234-1234-123456789abc",
      "a9876521-aabb-ccdd-ffaa-123abcdefccc",
    ],
  })
  .getQueryAndParameters();

await this.entityManager.query(
  `
INSERT INTO dummy("name")
${selectQuery}
`,
  params
);

关于javascript - 在 typeorm 中使用 select 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57363201/

相关文章:

javascript - AngularJS:ng-bind-html 删除样式

javascript - jQuery:垂直获取下一个表格单元格

javascript - React-Meteor "cannot read property X of undefined"来自另一个页面

MySQL Group By 取决于其他列值

javascript - CSS模块导出的模块是一个空对象?

javascript - 仅验证可见字段

mysql - NHibernate 和 MySql 关键字

mysql - 使用子查询和唯一值插入

typescript - 错误 : Integrating terra components into Ionic3 app

javascript - 使用完phantomjs网页后如何正确关闭?