I want to reproduce a query where the values are the result of a select in typeorm.
The query i want to reproduce is the one i provide here, but i can't find anything in typeorm documentation.
(Isnt important what the query does for the answer, i only need to know how to write that "SELECT
" in typeorm)
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`
something like:
(Edit:)
return await this.dmDatabase.getRepository(FurgPezzo)
.createQueryBuilder()
.insert()
.into(FurgPezzo)
.values( //here put my select )
Yes you can. From docs:
You can easily create subqueries. Subqueries are supported in
FROM
,WHERE
andJOIN
expressions.
Refer to the following posts for example: TypeORM subqueries, Typeorm subquery add select.
You can use subqueries:
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;)})