Einzelnen Beitrag anzeigen

Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
171 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Denkfehler bei SQL SELECT Abrage

  Alt 19. Okt 2017, 10:27
Das dürfte das Gewünschte ergebnis liefern.
SQL-Code:
SELECT mitarbeiter.name FROM
mitarbeiter, zuordnung WHERE
mitarbeiter.ID = zuordnung.MitarbeiterID AND
((zuordnung.QualifikationsID = 1 AND zuordnung.Auspraegung >= 1) OR
(zuordnung.QualifikationsID = 2 AND zuordnung.Auspraegung >= 3))
Nein. Er sucht ja nach einem Mitarbeiter der BEIDE Kriterien erfüllt.

Ich würde es über Subselects lösen:
SQL-Code:
SELECT mitarbeiter.name
FROM mitarbeiter
WHERE
mitarbeiter.ID in (SELECT mitarbeiterid FROM zuordnung WHERE zuordnung.QualifikationsID = 1 AND zuordnung.Auspraegung >= 1) AND
mitarbeiter.ID in (SELECT mitarbeiterid FROM zuordnung WHERE zuordnung.QualifikationsID = 2 AND zuordnung.Auspraegung >= 3)
[/QUOTE]

Das geht wahrscheinlich auch noch eleganter...
  Mit Zitat antworten Zitat