Ben: Kleines Problem mit JOIN

Hi,

ich habe ein kleines Problem mit einem JOIN. Ich habe folgende Situation:
In meiner DB befinden sich 2 Tabellen: user_mail und user

In der Tabelle user_mail befindet sich u.a. die Spalte mail_sender. Diese enthält aber nur einen INT Wert, welcher der Zeile user_id in der Tabelle user entspricht.

Nun möchte ich alle Werte aus user_mail zuzüglich des Benutzernamens(user_nick) aus user auslesen. Das Ganze muss dann noch eine WHERE-Klausel enthalten, da nur EINE Mail aus user_mail ausgelesen werden soll.

Hatte mir das eigentlich so gedacht:

SELECT * FROM user_mail, user LEFT JOIN user_mail, user ON user_mail.mail_sender = user.user_id WHERE user_mail.mail_id = '$nr'

Das funktioniert so aber leider nicht. Ich bekomme folgenden mysql_error ausgegeben:
Not unique table/alias: 'user_mail'

Kann mir jemand vielleicht auf die Sprünge helfen?

Danke schonmal im Voraus und viele Grüße
Ben

  1. Das funktioniert so aber leider nicht. Ich bekomme folgenden mysql_error ausgegeben:
    Not unique table/alias: 'user_mail'

    die spalte scheint nicht eindeutig zu sein. muß einen unique wert enthalten, welcher auch in der spaltendeklaration anzugeben ist.
    entweder primary oder unique.

    1. Hi,

      die spalte scheint nicht eindeutig zu sein. muß einen unique wert enthalten, welcher auch in der spaltendeklaration anzugeben ist.
      entweder primary oder unique.

      Aber welche? user_mail ist doch eine Tabelle?
      Und die Spalte mail_sender kann ich doch nicht als unique deklarieren, weil ja Leute auch mehrere Mails bekommen können. Also können dort die ID's auch öfter vorkommen oder?

      Danke und Gruß
      Ben

  2. Hi,

    Hatte mir das eigentlich so gedacht:

    SELECT * FROM user_mail, user LEFT JOIN user_mail, user ON user_mail.mail_sender = user.user_id WHERE user_mail.mail_id = '$nr'

    besser gehen duerfte es mit:

    SELECT
     *
    FROM
     user_mail
    LEFT JOIN
     user
    ON
     (user_mail.sender = user.user.id)
    WHERE
     (user_mail.mail_id = '$nr')

    Gruss,
    Ludger

    1. Hi Ludger,

      das funktioniert tadellos. Vielen Dank :-)