Einzelnen Beitrag anzeigen

Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Denkfehler bei SQL SELECT Abrage

  Alt 19. Okt 2017, 10:36
Struktur:
Code:
create table Mitarbeiter(ID integer, PersNr integer, Name cichar(20), Vorname cichar(20));
insert into mitarbeiter values
 (1, 15, 'Müller', 'Karl'),
 (2, 67, 'Mayer', 'Heinz'),
 (3, 85, 'Schulze', 'Max'),
 (4, 12, 'Schmidt', 'Moritz');
 
create table Qualifikationen(ID integer, Bezeichnung cichar(20));
insert into Qualifikationen values
 (1, 'Hydraulik'),
 (2, 'Pneumatik'),
 (3, 'Elektrik');
 

create table Zuordnung( MitarbeiterID integer, QualifikationsID integer, Auspraegung integer);
insert into zuordnung values
 (2,3,3),
 (3,1,2),
 (3,2,3),
 (4,1,1),
 (4,2,1),
 (4,3,1);
Abfrage erfolgt über ein zusätzliches join pro geforderter Qualifikation:
Code:
select m.* from mitarbeiter m
inner join zuordnung z1 on z1.mitarbeiterid=m.id
inner join zuordnung z2 on z2.mitarbeiterid=m.id
where (z1.qualifikationsid=1 and z1.auspraegung>=1)
and (z2.qualifikationsid=2 and z2.auspraegung>=3)
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat