SQL nach nummern Gruppieren

Hallo,

Ich habe im Moment das Problem das ich einen Datensatz mit Längen und Breitenangaben von Brettern habe, nun würd ich gerne eine Tabelle ausgeben lassen im stil von

 | 9-10 | 11-12 | 13-14 | 15+ |
50-65 | | | | |
66-101 | | | | |
102-201| | | | |
202+ | | | | |

die Werte in dieser Tabelle sollen dann die QM Meter Werte sein die in diesem Bereich vorhanden sind. Jetzt stellt sich mir die Frage ist es mit einer SQL abfrage möglich eine solche Staffelung zu erstellen oder muss ich dies mir von Hand im Programm zusammenbauen?

Gruß Michael

Klassifizieren und gruppieren
Moin, Michael,

dazu braucht es erstmal Klassifizierungen: Jedes Brett muss mit Merkmalen versehen werden, anhand derer es in die passende Längen- bzw. Breitenklasse einsortiert werden kann. Das lässt sich natürlich errechnen:.

 Update Brett Set Längenklasse = (Formel für die Längenstufe),
 Breitenklasse = (Formel für die Breitenstufe)

Für die Flächen ergäbe sich dann sowas wie

 Select sum (l \* b) from Brett
 group by Längenklase, Breitenklasse 

Das nächste Problem ist die Matrix, die ist mit SQL-Bordmitteln nicht darstellbar. Ein Minimum an Programmierung ist also vonnöten, um die View in eine Matrix umzuformen.

Gruß Ralf

Hi!

dazu braucht es erstmal Klassifizierungen: Jedes Brett muss
mit Merkmalen versehen werden, anhand derer es in die passende
Längen- bzw. Breitenklasse einsortiert werden kann. Das lässt
sich natürlich errechnen:.

Das läßt sich doch in das Select einbauen, dazu braucht man keine Extrafelder.

Das nächste Problem ist die Matrix, die ist mit
SQL-Bordmitteln nicht darstellbar. Ein Minimum an
Programmierung ist also vonnöten, um die View in eine Matrix
umzuformen.

Da kommt’s auf die Datenbank an; bei Oracle wäre sowas durchaus mit einem Select unter mithilfe der Oracle-spezifischen SQL-Funktionen möglich (Stichwort: Analytic Functions)

Grüße,
Tomh

Moin,

Das läßt sich doch in das Select einbauen, dazu braucht man
keine Extrafelder.

Anfänger tun sich erfahrungsgemäß leichter, wenn sie das, was sie haben wollen, erstmal sehen. Redundanzen sind hier wohl nicht zu befürchten, Eleganz kommt später.

mit einem Select unter mithilfe der Oracle-spezifischen
SQL-Funktionen möglich

Unter ohnehilfe von Oracle schaut’s allerdings schlecht aus. Das Brett heißt nun mal SQL.

Gruß Ralf