Sql Knex.js错误:表的子句条目中缺少
我在关系数据库中使用Knex.js。我试图使用union并简单地连接一些表来检索一些值,但是表ks的子句条目中缺少,错误不断出现 我的代码: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
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的子句条目中缺少
我在网上其他地方找到的每个解决方案都表明这是一个别名问题。我在代码中没有看到任何别名问题。不知道还有什么要做