2017-07-20 1 views
0

Das folgende Bild zeigt Ihnen, dass es zwei Tabellen, Bereiche und Elemente gibt. Die Ranges-Tabelle zeigt Bereiche von einer minimalen bis zu einer maximalen Anzahl an. In der Artikeltabelle werden die Nummern aus den Bereichen angezeigt, die verwendet wurden. Mit anderen Worten, von jedem Bereich werden einige Nummern verwendet und einige werden noch verwendet. Ich möchte eine Abfrage, die die maximale Anzahl in jedem gegebenen Bereich finden wird. Zum Beispiel, im Bereich von 1 bis 100, ist die maximale Anzahl, die verwendet wurde 5. Ich möchte, dass mein Ergebnis 5 als maximale Anzahl angezeigt wird. In ähnlicher Weise sollte der zweite Bereich 110 anzeigen und der dritte Bereich sollte null anzeigen, da keine der Nummern verwendet wurde.Finden Sie maximale Anzahl von einer Tabelle verwendet, indem Sie die Reichweite von zwei Zahlen aus einer anderen Tabelle

Click here to view the image

Antwort

0

Sie einen linken Außen müssen beitreten und Aggregation:

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 
; 
Verwandte Themen