Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Knex.js错误:表的子句条目中缺少_Sql_Knex.js - Fatal编程技术网

Sql Knex.js错误:表的子句条目中缺少

Sql Knex.js错误:表的子句条目中缺少,sql,knex.js,Sql,Knex.js,我在关系数据库中使用Knex.js。我试图使用union并简单地连接一些表来检索一些值,但是表ks的子句条目中缺少,错误不断出现 我的代码: const query = knex.select([ 'k.id as id', 'k.name as name', 'g.id as goalKpiId', 'g.name as goalKpiName', 'u.id as empl

我在关系数据库中使用Knex.js。我试图使用union并简单地连接一些表来检索一些值,但是表ks的子句条目中缺少错误不断出现

我的代码:

const query = knex.select([
            'k.id as id',
            'k.name as name',
            'g.id as goalKpiId',
            'g.name as goalKpiName',
            'u.id as employeeId',
            'u.first_name as employeeName',
            'd.name as departmentName',
            'ks.kpi_id as ksKpiId',
            'ks.id as kpiScoreId',
            'c.contributor_id as contributorId'
        ]).from('kpi as k')
            .leftJoin('goal_kpi as g', function () {
                this.on('g.id', '=', 'k.goal_kpi_id')
            }).leftJoin('users as u', function () {
                this.on('u.id', '=', 'ks.created_by')
            }).leftJoin('departments as d', function () {
                this.on('d.id', '=', 'u.department_id')
            }).joinRaw('left join (select ks.*, row_number() ' +
                'over (partition by ks.kpi_id order by ks.id desc) as seqnum from kpi_score ks) ks ' +
                'on ks.kpi_id = k.id and ks.seqnum = 1'
            ).leftJoin('contributors as c', function () {
                this.on('c.kpi_id', '=', 'k.id')
            }).where(searchClause.condition1).distinctOn('k.id').orderBy('k.id')
            .unionAll(function () {
                this.select([
                    'k.id as id',
                    'k.name as name',
                     'g.id as goalKpiId',
                     'g.name as goalKpiName',
                     'u.id as employeeId',
                     'u.first_name as employeeName',
                     'd.name as departmentName',
                     'ks.kpi_id as ksKpiId',
                     'ks.id as kpiScoreId',
                     'c.contributor_id as contributorId'
                ]).from('kpi as k')
                    .leftJoin('goal_kpi as g', function () {
                        this.on('g.id', '=', 'k.goal_kpi_id')
                    }).leftJoin('contributors as c', function () {
                        this.on('c.kpi_id', '=', 'k.id')
                    }).leftJoin('users as u', function () {
                        this.on('u.id', '=', 'c.contributor_id')
                    }).leftJoin('departments as d', function () {
                        this.on('d.id', '=', 'u.department_id')
                    }).leftJoin('kpi_score as ks', function () {
                        this.on('ks.kpi_id', '=', 'k.id')
                    }).where(searchClause.condition2).distinctOn('k.id');
                })

        return await query.then(kpi => kpi);
console.error(err)正在生成以下错误:错误:表ks的子句条目中缺少

我在网上其他地方找到的每个解决方案都表明这是一个别名问题。我在代码中没有看到任何别名问题。不知道还有什么要做