1 Gruppierung (5) LhNrGesamtgewichtGesamtzahl LH LH LH LH LH LH LH Gesamtgewichte und Stückzahlen der Lagereinheiten bezogen auf die Lagerhilfsmittel: selectLhNr, sum(Gewicht) as Gesamtgewicht, sum(Stückzahl) as Gesamtzahl fromLagereinheit group by LhNr;
2 Gruppierung (6) LhNrGesamtgewichtGesamtzahl LH LH LH LH Nummern der Lagereinheitarten, für die die Stückzahl der in den Lagereinheiten verpackten Artikel 35 oder mehr beträgt: selectLhNr, sum(Gewicht) as Gesamtgewicht, sum(Stückzahl) as Gesamtzahl fromLagereinheit group by LhNr havingsum(Stückzahl) >= 35;
3 Gruppierung (7) Beispiel: Der nach Stückzahl am häufigsten gelagerte Artikel des Lieferanten 'Bosch': selectA.ANr, sum(Stückzahl) as Gesamtzahl fromArtikelArt A, Lagereinheit Le whereA.ANr = Le.ANr andLieferant = 'Bosch' group by A.ANr havingsum(Stückzahl) >= all ( selectsum(Stückzahl) fromArtikelArt A, Lagereinheit Le whereA.ANr = Le.ANr andLieferant = 'Bosch' group by A.Anr );
4 Gruppierung (8) Generell können in SQL Attributwerte, die aus einer Gruppierung entstammen, nicht mit nichtgruppierten Attributen kombiniert werden. Die folgende sinnvolle Plausibilitätsprüfung ist also nicht möglich: selectsum(Le.Gewicht) - Lh.Gewicht as Differenz fromLagereinheit Le, Lagerhilfsmittel Lh whereLh.LhNr = 'LH-001' andLe.LhNr = Lh.LhNr; Erklärung: Unter Lh.Gewicht existiert ein Wert pro Tupel der Verbindungsrelation, sum(Le.Gewicht) ist jedoch nur für die Verbindungsrelation insgesamt definiert.
5 Gruppierung (9) Trickreiche Lösung: Da immer auf gleiche Lagerhilfsmittel abgehoben wird - das mit der Nummer 'LH-001' - ist auch dessen Lh.Gewicht das selbe. selectsum(Le.Gewicht) - max(Lh.Gewicht) as Differenz fromLagereinheit Le, Lagerhilfsmittel Lh whereLh.LhNr = 'LH-001 andLe.LhNr = Lh.LhNr; Differenz 0.00