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.
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)
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden