我正在NodeJS中使用knex。我的问题是,当每个日期都有最大日期时,我完全不知道如何选择所有行。
我使用该代码:
for (int i = count; --i >= index; )
};
我有结果:
T val = data[i];
当日期是最晚时,我只需要选择它们。我想要这样的样子:
.from('liczniki')
.join('klienci', 'liczniki.klienci_idcustomers', '=', 'klienci.idcustomers')
.join('odczyty', 'odczyty.liczniki_idliczniki', '=','liczniki.idliczniki' )
.select('liczniki.numer_licznika', 'odczyty.wartosc')
.where('klienci.idcustomers', '=', idkl)
.then((result) => {
if (!result) {
console.log(result);
var er = 500;
return er;
}
var pass = result;
console.log(pass)
return pass;
})
答案 0 :(得分:0)
您需要过滤要加入的行。我会将其写为子查询。像这样:
.from('liczniki')
.join('klienci', 'liczniki.klienci_idcustomers', '=', 'klienci.idcustomers')
.select(
'liczniki.numer_licznika',
knex('odczyty')
.where('liczniki_idliczniki', knex.ref('liczniki.idliczniki'))
.select(knex.raw('max(??)', ['wartosc']))
.as('wartosc')
)
.where('klienci.idcustomers', '=', idkl)