Announcement

Collapse
No announcement yet.

SQL-Anfragen/Nullwerte

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

  • SQL-Anfragen/Nullwerte

    Hallo zusammen,

    ich habe heute eine Datenbanken-Klausur und komme einfach nicht auf die Lösung der folgenden Teilaufgabe c) :

    http://www.bilder-space.de/show_img....&size=original

    Kann mir bitte jemand die Lösung verraten und ein paar Hinweise geben wie ich auf die Lösung komme? Wäre echt super nett. Vielen Dank in Voraus!

  • #2
    Also ich kann daran nichts wirklich schwieriges erkennen. Wo genau liegt denn das Problem? Ich werde Dir mit Sicherheit nicht die Lösung abtippen. Das ganze ist im Endeffekt ein Self Join falls Du damit Probleme hast (v1,v2). Der Rest sollte ja eigentlich kein Problem sein.

    Comment


    • #3
      Was für den einen leicht ist, ist für den anderen ein Problem. Das es ein Self Join ist, ist mir klar. Das heißt doch soviel wie, dass ich die Tabelle 2 mal nehme und jeder Datensatz aus der einen Tabelle wird mit allen Datensätzen aus der anderen Tabelle kombiniert. Somit komme ich auf 49 Datensätze, denke ich. Aber wie ich danach mit der Bedingung nach WHERE vorgehe ist mir nicht klar.

      Comment


      • #4
        erstmal machst du ein kartesisches Produkt und die WHERE Bedingung wirft halt einige Datensätze raus. Welche rausgeworfen werden steht doch eigentlich da.

        Comment


        • #5
          Also ich kann daran nichts wirklich schwieriges erkennen.
          erstmal machst du ein kartesisches Produkt
          Vielleicht doch schwieriger als gedacht?
          Es handelt sich hier um kein Kartesisches Produkt. Die Joinbedingung V1.C=V1.D ist die Verknüpfung der beiden Tabellen. Gefiltert wird dann über V1.C > V2.B*4

          Etwas konfus ist die Aufgabe schon, vor allem, was man als Ergebnis wo eintragen soll.
          a) Ist je mehr eine Kopfrechenaufgabe, wobei nur zu beachten ist, dass Zeilen bei denen C oder B NULL ist von haus aus nicht im Ergebnis berücksichtigt werden.
          b) Ist eine kleine Falle, denn B=NULL ist zwar synataktisch richtig, ergibt aber keinen Sinn, da NULL immer <> NULL ist. Korrekt wäre die Syntax B IS NULL. Als Ergebnis wird also nur die erste Zeile geliefert.
          c)Ist ähnlich. Als Ergebnis kann nur die Erste Zeile in Frage kommen, da nur hier C=D ist.

          Wie man das aber eintrage soll - keine Ahnung

          Dim
          Zitat Tom Kyte:
          I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

          Comment


          • #6
            Vielen Dank für deine ausführliche Antwort! Zum Glück hat es mir jemand vor der Klausur noch erklärt und ich habs richtig gemacht. Meine Annahme war natürlich komplett falsch.

            Das Ergebnis ist:

            V1.A V2.A
            1 | 1
            2 | 5
            7 | 5

            Comment

            Working...
            X