Ik ben al een tijdje aan het stoeien met een query om in 1 query te bepalen welke personen uit dienst zijn. De gegevens komen uit een tabel die er als volgt uit ziet (gedeeltelijk)
Er staan dus allerlei mutaties in, ook van andere mutatiesoorten. De bedoeling is dus dat ik een peildatum aangeef en dat vervolgens uit de query rolt welke personen (id's) op dat moment uit dienst zijn. Deze uitvoer moet weer als subquery binnen een andere query geplaatst worden, vandaar dat de query die ik zelf al had gebouwd niet werk. Ik kom er ook niet echt meer meer verder op het moment. Wie kan me weer een beetje (of veel) verder helpen.
De huidige query is
select
werknemerID,
( select non_numerieke_waarde from werknemermutaties where werknemermutaties.werknemerID=werknemers.werknemerID AND mutatiesubsoortID=29 AND from_unixtime(datum)<=now() ORDER BY datum DESC LIMIT 1) AS werknemerstatus FROM werknemers HAVING werknemerstatus='uit dienst'
| werknemerID | mutatiedatum | mutatiesoortID | mutatie |
| 1 | 01/01/2000 | 29 | in dienst |
| 2 | 01/01/2001 | 29 | uit dienst |
| 2 | 01/08/2004 | 29 | in dienst |
| 1 | 01/09/2005 | 29 | in dienst |
| 2 | 01/04/2006 | 29 | uit dienst |
| 1 | 01/03/2005 | 29 | uit dienst |
Er staan dus allerlei mutaties in, ook van andere mutatiesoorten. De bedoeling is dus dat ik een peildatum aangeef en dat vervolgens uit de query rolt welke personen (id's) op dat moment uit dienst zijn. Deze uitvoer moet weer als subquery binnen een andere query geplaatst worden, vandaar dat de query die ik zelf al had gebouwd niet werk. Ik kom er ook niet echt meer meer verder op het moment. Wie kan me weer een beetje (of veel) verder helpen.
De huidige query is
select
werknemerID,
( select non_numerieke_waarde from werknemermutaties where werknemermutaties.werknemerID=werknemers.werknemerID AND mutatiesubsoortID=29 AND from_unixtime(datum)<=now() ORDER BY datum DESC LIMIT 1) AS werknemerstatus FROM werknemers HAVING werknemerstatus='uit dienst'