PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nur die Daten aus Tabelle 1, die in Tabelle 2 nicht vorhanden sind..


Boneshaker
16.03.2004, 08:13:09
Der Betreff schildert meine Frage schon ganz gut.

Also bisher habe ich es via PHP mit einer if-Anweisung und zwei SQL-Abfragen realisiert. Doch es muss doch auch in einer SQL-Abfrage funktionieren.
Mir ist nur leider noch keine brauchbare Idee eingefallen.

In tbl_mitglieder stehen z.B. jetzt alle Mitglieder..
Felder: MitID, Name, Ort, .....

In tbl_events soll z.B. eine Teilnehmerliste darstellen...
Felder: EventID, MitID, Datum, .....

Jetzt sollen in einer DropDown-Liste alle Mitglieder erscheinen,
die noch nicht in tbl_events existent sind. Damit keine Mitglieder doppelt erfasst werden können.

Kann man dies mit einer passenden Abfrage machen?

mfg, Mario

Marilu
16.03.2004, 14:06:46
Versuche mal so was (weiß nicht, obs klappt):

"SELECT tbl_mitglieder.*, tbl_events.EventID FROM tbl_mitglieder
LEFT JOIN tbl_events ON tbl_mitglieder.MitID = tbl_events.MitID
WHERE tbl_events.MitID = 0";

(Habe mal was ähnliches gemacht).

Boneshaker
16.03.2004, 19:40:42
hmm.. funzt leider nicht.. es werden überhaupt keine datensätze bei dieser abfrage angezeigt..

Marilu
16.03.2004, 20:40:23
Hab' mal ein wenig rumgespielt...

versuche mal:
"SELECT
tbl_mitglieder.*,
IFNULL(tbl_events.EventID, '')
FROM tbl_mitglieder
LEFT JOIN tbl_events
ON tbl_mitglieder.MitID = tbl_events.MitID
WHERE IFNULL(tbl_events.EventID, '') = ' '"
So konnte ich es nachstellen.

Boneshaker
17.03.2004, 22:02:19
leider wieder NULL...

Marilu
17.03.2004, 22:31:18
> leider wieder NULL...

Verstehe ich nicht. Bei mir hat's hingehauen. Wenn Du möchtest, sende mir mal einen kleinen Auszug der beiden Tabellen zu, dann stelle ich es nach.

MiH
24.03.2004, 08:22:18
SELECT m.*,
FROM tbl_mitglieder m
LEFT JOIN tbl_events e using(mitid)
WHERE e.mitid is null

Marilu
24.03.2004, 19:38:38
@MiH

bei Deinen geilen Queries kann ich einfach nicht mithalten :-((