login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Query geeft geen resultaten door LEFT JOIN

Offline Luc18 - 21/01/2012 17:06
Avatar van Luc18Onbekend Beste leden,

Ik ben heel druk bezig met een school opdracht. Maar kom er nu niet meer uit. We moeten een ziekmelding systeem schrijven, waarbij hoofd personeelszaken vervangers kunnen regelen.

Nu moet er een lijst komen die de beschikbare vervangers aangeeft. De eisen zijn:
- vervanger mag zelf natuurlijk niet ziek zijn
- vervanger mag niet al iemand anders vervangen.

De query die ik hiervoor dacht te gebruiken is:
  1. SELECT care_person.name_first, care_person.name_middle, care_person.name_last, care_personell.job_function_title
  2. FROM care_person
  3. JOIN care_personell ON(care_personell.pid=care_person.pid)
  4. LEFT JOIN ziekmeldingen AS person ON(person.pid=care_person.pid)
  5. LEFT JOIN ziekmeldingen AS vervang ON(vervang.vid=care_person.pid)
  6. WHERE person.beterdatum != '' AND vervang.vidDatum != '".$date."' GROUP BY care_person.pid


Maar deze geeft geen resultaten.

Uitleg namen: pid = personeels id
vid = vervangers id.

vidDatum = de datum waarop de vervanger was ingeroosterd en mag dus niet gelijk zijn aan de datum van vandaag ($date).

Hopelijk kan iemand hier mij mee helpen.

De query mag dus alleen personen weergeven die
- niet ziek zijn - en niet al iemand vervangen op de datum van vandaag.

2 antwoorden

Gesponsorde links
Offline ibmos2warp - 21/01/2012 17:39
Avatar van ibmos2warp PHP interesse Geef je datamodel eens. Wat is het verschil bijvoorbeeld tussen care_person en care_personell? Dit kan volgens mij mooi worden opgelost met een self join.
Offline Luc18 - 21/01/2012 17:50
Avatar van Luc18 Onbekend Het verschil is dat in care_person alle persoonlijke gegevens staan, en in care_personell staat het personeel, dus zakelijke email, hun functie contract datum eind contract.

Dus wat de bedoeling is dat we voornaam en achternaam hebben van het personeelslid (dat staat in care_person) vervolgens hun functie, en email (die staan in care_personell) en dan nog dat het personeelslid niet ziek is, of niet al vervanger is op de dag van vandaag.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s