PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Nur die Daten aus Tabelle 1, die in Tabelle 2 nicht vorhanden sind.. (http://www.selfphp.de/forum/showthread.php?t=7185)

Boneshaker 16.03.2004 09:13:09

Nur die Daten aus Tabelle 1, die in Tabelle 2 nicht vorhanden sind..
 
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 15: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 20:40:42

hmm.. funzt leider nicht.. es werden überhaupt keine datensätze bei dieser abfrage angezeigt..

Marilu 16.03.2004 21:40:23

Hab' mal ein wenig rumgespielt...

versuche mal:
PHP-Code:

"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 23:02:19

leider wieder NULL...

Marilu 17.03.2004 23: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 09:22:18

Code:

SELECT m.*,
FROM tbl_mitglieder m
LEFT JOIN tbl_events e using(mitid)
WHERE e.mitid is null


Marilu 24.03.2004 20:38:38

@MiH

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:23:05 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.