From f7bf923e347355f08ec853dfae98061f3fc3e75f Mon Sep 17 00:00:00 2001 From: DarkPhoenix2704 Date: Wed, 11 Sep 2024 08:46:13 +0000 Subject: [PATCH] fix: add default value for rollup --- packages/nocodb/src/db/genRollupSelectv2.ts | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/nocodb/src/db/genRollupSelectv2.ts b/packages/nocodb/src/db/genRollupSelectv2.ts index b0b1a9144b..bb7fe9389e 100644 --- a/packages/nocodb/src/db/genRollupSelectv2.ts +++ b/packages/nocodb/src/db/genRollupSelectv2.ts @@ -58,9 +58,23 @@ export default async function ({ return; } - qb[columnOptions.rollup_function as string]?.( - knex.ref(`${refTableAlias}.${rollupColumn.column_name}`), - ); + if ( + ['sum', 'sumDistinct', 'avgDistinct', 'avg'].includes( + columnOptions.rollup_function, + ) + ) { + qb.select( + knex.raw(`COALESCE((??), 0)`, [ + knex[columnOptions.rollup_function as string]?.( + knex.ref(`${refTableAlias}.${rollupColumn.column_name}`), + ), + ]), + ); + } else { + qb[columnOptions.rollup_function as string]?.( + knex.ref(`${refTableAlias}.${rollupColumn.column_name}`), + ); + } }; switch (relationColumnOption.type) {