Announcement

Collapse
No announcement yet.

Expliziten Join aus impliziten Join erstellen

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

  • Expliziten Join aus impliziten Join erstellen

    Hi,

    wie kann ich aus diesem impliziten Join einen expliziten Join machen?
    Bin am verzweifeln

    [highlight=sql]
    SELECT
    b.name,
    b.firstname,
    c.season,
    SUM(d.goals) AS Goals
    FROM players a, persons b, matches c, playerMatches d
    WHERE a.personId = b.personId
    AND a.playerId = d.playerId
    AND c.matchId = d.matchId
    AND Goals IS NOT NULL
    GROUP BY b.name, b.firstname, c.season
    ORDER BY c.season, Goals DESC, b.name[/highlight]

    mfg 0per8or

  • #2
    Hallo Oper8or,

    das ist nicht so schwer: Das implizite JOIN wird über die WHERE Klausel gebildet, wo Du die PKs mit den FKs gleich setzt. Die musst Du nur 1:1 in die ON Klausel des JOINs bringt, etwas die Reihenfolge beachten und schon sollte es gehen:
    [highlight=SQL]SELECT b.name, b.firstname, c.season, SUM(d.goals) AS Goals
    FROM players a
    INNER JOIN persons b
    ON a.personId = b.personId
    INNER JOIN playerMatches d
    ON a.playerId = d.playerId
    INNER JOIN matches c
    ON c.matchId = d.matchId
    WHERE d.Goals IS NOT NULL
    GROUP BY b.name, b.firstname, c.season
    ORDER BY c.season, Goals DESC, b.name [/highlight]
    Wie Du siehst, bleibt im WHERE dann nur noch "d.Goals IS NOT NULL" übrig.
    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
      Da hätte ich auch selbst drauf kommen können
      So ähnlich hatte ich es auch schon...

      Danke!

      Comment

      Working...
      X