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 )
This is the neatest solution I could come up with, hope it helps future explorers. The answer comments inspired me.
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
)