Salut!
J'ai cette requĂȘte :
var scores = Bookshelf.knex('audition_vote').sum('voting_power as score').groupBy('audition_id')
et je veux envelopper cette requĂȘte comme :
var topScores = Bookshelf.knex.distinct('score').from(function() {
// This works but i want to use "scores" variable
this.sum('voting_power as score').from('audition_vote').groupBy('audition_id').as('scores');
});
console.log(topScores.toString()) imprime
select distinct `score` from (select sum(`voting_power`) as `score` from `audition_vote` group by `audition_id`) as `scores
Comment utiliser la variable "scores" à l'intérieur de from() ????
Quelle est la requĂȘte que vous cherchez finalement Ă gĂ©nĂ©rer ?
Le dernier:
select distinct `score` from (select sum(`voting_power`) as `score` from `audition_vote` group by `audition_id`) as `scores`
La requĂȘte est correcte, mais je souhaite rĂ©utiliser la variable "scores"
Oh, tu peux juste faire :
var scores = Bookshelf.knex('audition_vote')
.sum('voting_power as score')
.groupBy('audition_id')
.as('scores');
var topScores = Bookshelf.knex.distinct('score').from(scores.clone());
Le .as
est ignorĂ© Ă moins qu'il ne se trouve dans une sous-requĂȘte, et le clone n'est nĂ©cessaire que si vous mutez la requĂȘte scores
ailleurs.
Ou tu peux faire :
var scores = Bookshelf.knex('audition_vote')
.sum('voting_power as score')
.groupBy('audition_id');
var topScores = Bookshelf.knex.distinct('score').from(scores.clone().as('scores'));
Commentaire le plus utile
Oh, tu peux juste faire :
Le
.as
est ignorĂ© Ă moins qu'il ne se trouve dans une sous-requĂȘte, et le clone n'est nĂ©cessaire que si vous mutez la requĂȘtescores
ailleurs.Ou tu peux faire :