// random query with left join
const query = db
.select({
id: documentLine.id,
documentId: documentLine.documentId,
productVariant: {
id: productVariant.id,
fullName: productVariant.fullName,
},
})
.from(documentLine)
.leftJoin(
productVariant,
eq(productVariant.id, documentLine.productVariantId)
)
// it applies fileters, ordering, pagination
let paginatedResults = await getPaginatedResponse(query, filters, ordering, limit, offset)
// need to copy query with all filters and more important with joins
let countQuery = query.$dynamic().where(and(...filters))
// sample attempt to alternate select
let count = countQuery._.selectedFields({ count: sql<string>`count(*)` })
// random query with left join
const query = db
.select({
id: documentLine.id,
documentId: documentLine.documentId,
productVariant: {
id: productVariant.id,
fullName: productVariant.fullName,
},
})
.from(documentLine)
.leftJoin(
productVariant,
eq(productVariant.id, documentLine.productVariantId)
)
// it applies fileters, ordering, pagination
let paginatedResults = await getPaginatedResponse(query, filters, ordering, limit, offset)
// need to copy query with all filters and more important with joins
let countQuery = query.$dynamic().where(and(...filters))
// sample attempt to alternate select
let count = countQuery._.selectedFields({ count: sql<string>`count(*)` })