在类型模板中使用SELECT插入

我想要重新生成一个查询,其中的值是typeorm中SELECT的结果。 我想要重现的查询就是我在这里提供的查询,但是我在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   )

解决方案

可以。发件人:docs:

您可以轻松创建子查询。FROM中支持子查询, WHEREJOIN表达式。

例如:TypeORM subqueries、Typeorm subquery add select。

您可以使用子查询:

return await this.dmDatabase.getRepository(InvStandard)
    .insert()
    .values(qb => {qb.select(FurgPezzo).where()})//here put my select 

// with subquery->

return await this.dmDatabase.getRepository(InvStandard)
    .insert()
    .values(qb => {qb.select(FurgPezzo).where(
            const subQuery = qb.subQuery()
                // your subquery builder
            return "your condition " + subQuery;)})

相关文章