BigFisch Geschrieben 10. Oktober 2005 Geschrieben 10. Oktober 2005 Servus, Habe folgendes Problem bei einer mySQL Abfrage: Zu den Tabelle, es gibt eine Tabelle mit Projekten (Inhalt: ID und Beschreibung), eine Tabelle mit Mitarbeitern (Inhalt:ID, Name etc.) und eine Tabelle in der ich die ID von Projekten und Mitarbeitern zusammenführe. Nun will ich aber genau die Projekte ausgegeben bekommen, die einen Mitarbeiter gerade nicht zugewiesen wurden. Hoffe jemand hat ne gute Idee. Zitieren
perdian Geschrieben 10. Oktober 2005 Geschrieben 10. Oktober 2005 Also bei folgender Struktur +---------------+ +--------------------+ +------------+ | Mitarbeiter | | ProjektMitarbeiter | | Projekt | +---------------+ +--------------------+ +------------+ | - id |--+ | - id | +--| - id | | - name | +--| - mitarbeiter_id | | | - title | | - ... | | - projekt_id |--+ | - ... | +---------------+ +--------------------+ +------------+ lässt sich das ganze wohl am elegantesten mit einem Subselect lösen in der Form: SELECT * FROM Projekt WHERE Projekt_Id NOT IN (SELECT Projekt_Id FROM ProjektMitarbeiter WHERE Mitarbeiter_Id = 42) Zitieren
Jaraz Geschrieben 10. Oktober 2005 Geschrieben 10. Oktober 2005 lässt sich das ganze wohl am elegantesten mit einem Subselect lösen in der Form: Nun ja, ob man Subselects elegand findet ist geschmackssache, ich würde das über einen LEFT JOIN machen. Gruß Jaraz Zitieren
BigFisch Geschrieben 10. Oktober 2005 Autor Geschrieben 10. Oktober 2005 Danke klappt wunderbar! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.