Veröffentlicht 10. Oktober 200519 j 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.
10. Oktober 200519 j 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)
10. Oktober 200519 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.