Ik heb een probleem met mijn volgende query:
na uitvoer krijg ik het volgende:
mijn bedoeling is dat deze query hetzelfde geeft als SELECT * FROM uitvoeringen;
plus als extra een kolom met de cursussen.omschrijving en een kolom met medewerkers.naam
bij het uitvoeren van SELECT * FROM uitvoeringen; is dit het resultaat:
Zoals je kunt zien heeft deze 3 resultaten extra, dit omdat de statement uitvoeringen.docent = medewerkers.mnr niet overeen komt.
Hoe maak ik de query nu zo, dat deze toch alle 13 laat zien, en bij de records waar docent leeg de het veld medewerkers.naam ook leeg blijft.
De tabellen zien er dus zo uit:
Zoals je kunt zien is uitvoeringen.cursus een foreign key van cursussen.code en
uitvoeringen.docent van medewerkers.mnr
Na een paar uur met mn klasgenoot hiermee zitten prutsen zag ik het niet meer zitten
SQL:
1
2
3
4
5
| SELECT uitvoeringen.cursus, uitvoeringen.begindatum, uitvoeringen.docent, uitvoeringen.locatie, cursussen.omschrijving, medewerkers.naam FROM uitvoeringen, cursussen, medewerkers WHERE uitvoeringen.cursus = cursussen.code AND uitvoeringen.docent = medewerkers.mnr |
na uitvoer krijg ik het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| CURSUS, BEGINDATUM, DOCENT, LOCATIE, OMSCHRIJVING, NAAM S02 16-APR-95 7902 DE MEERN Introductie SQL en SQL*Plus SPIJKER S02 08-OCT-95 7369 MAASTRICHT Introductie SQL en SQL*Plus SMIT S02 17-DEC-95 7369 DE MEERN Introductie SQL en SQL*Plus SMIT OAG 10-AUG-95 7566 UTRECHT Oracle voor ApplicatieGebruikers JANSEN OAG 27-SEP-96 7902 DE MEERN Oracle voor ApplicatieGebruikers SPIJKER FOR 17-DEC-95 7566 MAASTRICHT Applicatiebouw met Oracle Forms JANSEN FOR 05-FEB-96 7876 DE MEERN Applicatiebouw met Oracle Forms ADAMS PLS 11-SEP-96 7788 DE MEERN Introductie PL/SQL SCHOTTEN REP 04-FEB-96 7369 DE MEERN Bouwen met Oracle Reports SMIT RSO 24-FEB-97 7788 UTRECHT Relationeel SysteemOntwerp SCHOTTEN |
mijn bedoeling is dat deze query hetzelfde geeft als SELECT * FROM uitvoeringen;
plus als extra een kolom met de cursussen.omschrijving en een kolom met medewerkers.naam
bij het uitvoeren van SELECT * FROM uitvoeringen; is dit het resultaat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| CURSUS, BEGINDATUM, DOCENT, LOCATIE S02 16-APR-95 7902 DE MEERN S02 08-OCT-95 7369 MAASTRICHT S02 17-DEC-95 7369 DE MEERN OAG 10-AUG-95 7566 UTRECHT OAG 27-SEP-96 7902 DE MEERN FOR 17-DEC-95 7566 MAASTRICHT FOR 05-FEB-96 7876 DE MEERN PLS 11-SEP-96 7788 DE MEERN REP 04-FEB-96 7369 DE MEERN REP 18-SEP-96 MAASTRICHT ERM 13-JAN-97 SOD 17-FEB-97 DE MEERN RSO 24-FEB-97 7788 UTRECHT |
Zoals je kunt zien heeft deze 3 resultaten extra, dit omdat de statement uitvoeringen.docent = medewerkers.mnr niet overeen komt.
Hoe maak ik de query nu zo, dat deze toch alle 13 laat zien, en bij de records waar docent leeg de het veld medewerkers.naam ook leeg blijft.
De tabellen zien er dus zo uit:
code:
1
2
3
| medewerkers(MNR, NAAM, VOORL, FUNCTIE, CHEF, GBDATUM, MAANDSAL, COMM, AFD) cursussen(CODE, OMSCHRIJVING, TYPE, LENGTE) uitvoeringen(CURSUS, BEGINDATUM, DOCENT, LOCATIE) |
Zoals je kunt zien is uitvoeringen.cursus een foreign key van cursussen.code en
uitvoeringen.docent van medewerkers.mnr
Na een paar uur met mn klasgenoot hiermee zitten prutsen zag ik het niet meer zitten