Announcement

Collapse
No announcement yet.

SQL-Abfrage

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

  • SQL-Abfrage

    Hallo zusammen,

    ich sitz grad mal wieder bei einer eigentlich einfachen SQL-Abfrage auf dem Schlauch.
    Ich habe folgende Tabellen:
    Artikel (ArtikelNr, Name)
    Disponent (DisNr, Name)
    Lieferposten (LieferNr, Menge, ArtikelNr, DisNr).

    In der Tabelle Lieferposten sind ArtikelNr udn DisNr Fremdschlüssel zu den Tabellen Artikel und Disponent.
    Ich will nun eine Abfrage erstellen, die mir ausgibt, welcher Disponent (mit Name) welchen Artikel (mit Name) bestellt hat.

    Hat jemand ne Idee oder kann mir jemand einen Denkanstoss geben?

    Vielen Dank für eure Antworten

  • #2
    Hi!

    SELECT Artikel.Name, Disponent.Name
    FROM Artikel, Disponent, Lieferposten
    WHERE Artikel.ArtikelNr=Lieferposten.ArtikelNr AND Disponent.DisNr=Lieferposten.DisNr


    So?

    Comment


    • #3
      Hallo,
      Originally posted by DrEvil View Post
      Hi!

      SELECT Artikel.Name, Disponent.Name
      FROM Artikel, Disponent, Lieferposten
      WHERE Artikel.ArtikelNr=Lieferposten.ArtikelNr AND Disponent.DisNr=Lieferposten.DisNr


      So?
      Besser gleich richtig lernen: Also als expliziten JOIN formulieren und als SQL formatieren .
      [highlight=sql]
      SELECT Artikel.Name, Disponent.Name
      FROM Lieferposten
      inner join Disponent on Disponent.DisNr = Lieferposten.DisNr
      inner join Artikel on Artikel.ArtikelNr = Lieferposten.ArtikelNr
      [/highlight]

      Gruß Falk

      P.S.: Ich weiß, dass Oracle seinen eigenen Stand zu JOINs hat und diese Syntax nicht in allen Versionen des Oracle-Server funktioniert .
      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 für die Antworten. Genau danach hab ich gesucht.
        Muss mich unbedingt damit näher auseinandersetzen

        Comment


        • #5
          Modern SQL solution from Oracle SQL Expert

          Um diese Abfrage sehr einfach zu verstehen, musste es folgende gemacht werden:
          1. die von Ihnen gegebene Tabelen sollte in Aliasname verwenden
          2. Hier handelt es sich um INNER JOIN

          Code:

          SELECT a.Name, d.Name
          FROM Lieferposten l

          INNER JOIN Disponent d ON d.DisNr = l.DisNr -- > new method
          -- || (d.DisNr = l.DisNr) -- > old method

          INNER JOIN Artikel a ON a.ArtikelNr = l.ArtikelNr
          -- || (a.ArtikelNr = l.ArtikelNr)
          ;

          von Javakh
          (SQL Expert)

          Comment

          Working...
          X