L'image suivante montrera qu'il y a deux tables, rangées et articles. La table Ranges affiche les plages d'un nombre min à un nombre maximum. La table des éléments affichera les nombres des plages qui ont été utilisées. En d'autres termes, à partir de chaque plage, certains chiffres sont utilisés et d'autres doivent encore être utilisés. Je veux une requête qui trouvera le nombre maximum utilisé dans chaque gamme donnée. Par exemple, de la plage 1 à 100, le nombre maximum utilisé est 5. Je veux que mon résultat indique 5 comme nombre maximal utilisé. De même, la deuxième plage devrait afficher 110 et la troisième plage devrait afficher null car aucun des nombres n'a été utilisé.Trouver le nombre maximum utilisé d'une table en obtenant la gamme de deux nombres d'une autre table
Q
Trouver le nombre maximum utilisé d'une table en obtenant la gamme de deux nombres d'une autre table
0
A
Répondre
0
Vous avez besoin d'une jointure externe gauche et l'agrégation:
select r.frnumber, r.tonumber, max(i.rangenum) as maxnumused
from ranges r left outer join items i
on i.rangenum between i.frunmber and i.tonumber
group by r.frnumber, r.tonumber
;