Announcement

Collapse
No announcement yet.

SQL Anweisug mit Fehler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Anweisug mit Fehler

    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.

  • #2
    Schon ganz gut, ein paar Sachen fehlen noch:

    (3) Potenzieller Fehler: Bei Vergleich auf Subselect darf dieses nur genau 1 oder keinen Datensatz liefern.
    (6) Ist OK, darf Order enthalten
    (5) Potenzieller Fehler, da Vergleich auf NULL immer fehlschlägt (false liefert).
    (8) Fehler, da "Position" in GROUP fehlt
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo,
      ich hab auch noch was :

      (1) potenzieller Fehler, da je nach Weiterverarbeitung berechnete oder aggregierte Werte (hier sum(Einzelpreis)) mit einem Alias versehen werden müssen
      (4) echter Fehler, da in SQL String-Literale in einfache Hochkommas '' geschrieben werden und nicht in solche "Schnörkel" ‘’

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Vielen Dank O.Helper und Falk Prüfer ))

        Comment

        Working...
        X