Hallo alle zusammen. Ich habe hier eine Beispielaufgabe, was potentielle bzw. echte Fehler enthält.
Ich habe meine eigene Lösung reingeschrieben. Könntet ihr mir vielleicht beantworten, ob meine Lösung richtig ist oder noch Fehler enthält.
Ich danke schon im voraus.
Aufgabe:
Folgende Anweisung enthält echte bzw. potentielle Fehler. Sie sollen diese Fehler möglichst exakt beschreiben (nicht korrigieren!). (Zu ihrer Erleichterung wurden Zeilennummern angegeben, die natürlich nicht Bestandteil der Anweisung sind!)
(1) select Bezeichnung, Position, sum(Einzelpreis)
(2) from Auftragspositionen
(3) where Auftragsnr = (select Auftr_Nr from Auftraege
(4) where Empfaenger <> ‘Lausig & Co.’
(5) and Auftr_Dat <> NULL
(6) order by Auftr_Dat)
(7) and not (sum(Einzelpreis) > 2000)
(8) group by Bezeichnung
(9) order by 1 down;
Lösung:
(1) OK
(2) OK
(3) OK
(4) OK
(5) OK
(6) Soweit ich weiß darf man bei einer Unterbabfrage keine order by klausel anwenden. Daher ist
es ein echter Fehler, meiner Meinung nach.
(7) Verdichtungsoperatoren in einem where Klausel darf man meiner Meinung nach auch
nicht benutzen.
(8) OK
(9) order by 1 “down“ --> down gibt es nicht für ein order by klausel, wenn dann nur asc oder desc.
Ich habe meine eigene Lösung reingeschrieben. Könntet ihr mir vielleicht beantworten, ob meine Lösung richtig ist oder noch Fehler enthält.
Ich danke schon im voraus.
Aufgabe:
Folgende Anweisung enthält echte bzw. potentielle Fehler. Sie sollen diese Fehler möglichst exakt beschreiben (nicht korrigieren!). (Zu ihrer Erleichterung wurden Zeilennummern angegeben, die natürlich nicht Bestandteil der Anweisung sind!)
(1) select Bezeichnung, Position, sum(Einzelpreis)
(2) from Auftragspositionen
(3) where Auftragsnr = (select Auftr_Nr from Auftraege
(4) where Empfaenger <> ‘Lausig & Co.’
(5) and Auftr_Dat <> NULL
(6) order by Auftr_Dat)
(7) and not (sum(Einzelpreis) > 2000)
(8) group by Bezeichnung
(9) order by 1 down;
Lösung:
(1) OK
(2) OK
(3) OK
(4) OK
(5) OK
(6) Soweit ich weiß darf man bei einer Unterbabfrage keine order by klausel anwenden. Daher ist
es ein echter Fehler, meiner Meinung nach.
(7) Verdichtungsoperatoren in einem where Klausel darf man meiner Meinung nach auch
nicht benutzen.
(8) OK
(9) order by 1 “down“ --> down gibt es nicht für ein order by klausel, wenn dann nur asc oder desc.
Comment