Select 在 Postgres 视图上查询 Prisma Client 时返回 0 行,而这不应该

Select query Prisma Client on Postgres view returning 0 rows when it shouldn't

我在尝试 select Postgres 视图中按名称过滤的行时遇到问题。

查询结果应该是 company_portfolio 中的一家名为 'any company 2' 的公司。但是,它没有返回公司,而是 returns 什么都没有。我的意思是一个空的公司数组,而不是一个包含名称为 'any company 2'.

的公司的数组

我创建了一个看起来像这样的 Postgres 视图:

    CREATE OR REPLACE view company_portfolio as
SELECT  company.id, 
        company.name, 
        ... 
    FROM "Company" company
        LEFT JOIN 
          (SELECT DISTINCT ... FROM 
            (SELECT DISTINCT ... FROM "Contract") a
             GROUP BY 1) as smpLists
    ON company.... = smpLists...

我创建了一个公司,名称为:'any company 2'。

我正在使用我的 prisma 客户端查询 table,如下所示:

if (params.name) {
      filters = `${filters} AND "name" = '${params.name}'`;
    }


return this.prisma.$queryRaw(
      ` 
        SELECT * FROM "company_portfolio" 
        WHERE id IS NOT NULL ${filters}
        ORDER BY ${orderBy}
        LIMIT ${params.limit}
        OFFSET ${params.offset}
    `
    );

所以最后的查询是这样的:

SELECT * FROM "company_portfolio" 
        WHERE id IS NOT NULL  AND name = 'any company 2'
        ORDER BY name ASC
        LIMIT 1
        OFFSET 1

返回的是一个空数组,因此未正确 selected 公司的名称 = 'any company 2'。

我直接在数据库上执行了类似的查询,它 returns 所需的公司。

有没有人发现这里可能有什么问题?

解决了。

我正在设置偏移量 = 1 和限制 = 1。这是 returns 来自 select 查询结果的第二行。

因为只有 1 条记录符合 select 查询的条件,所以没有第二条记录,因此我看到的是一个空数组。