anoniem Geplaatst: 4 mei 2006 Delen Geplaatst: 4 mei 2006 Situatie: Tabel Factuur Tabel Status Tabel Naam Een factuur kan meerdere opeenvolgende statussen hebben, iedere status heeft een actiehouder gekoppeld. Factuur - Status is 1:n relatie, Naam - Status is 1:n relatie. Hoe maak ik een query waarbij ik alleen de laatste status te zien krijg per Factuur? M.a.w. wat is het criterium dat ik moet ingeven voor het ID in Status? (Status heeft als primary key een autonummering, statussen worden op de juiste volgorde chronologisch ingevoerd: het hoogste status_ID per factuur is dus de actuele status). Het lukt mij niet om de juiste voorwaarde te definieren. Geprobeerd met Laatste, Max. Iemand andere suggesties? Mijn dank is groot! Quote Link naar reactie
anoniem Geplaatst: 4 mei 2006 Auteur Delen Geplaatst: 4 mei 2006 Je vraagstelling is wel een beetje onoverzichtelijk en ingewikkeld. Om toch te proberen antwoorden op je vraag: Met max. kom je er. Je doet een join tssn de 2 tabellen, en selecteert de kolommen die je wil zien. Als criterium gebruik je een subquery met een verwijzing naar je eerste query zie pseudocode: [code:1:cbbea7c0ff] select kolommen from factuur f inner join status s on f.factuur_id = s.factuur_id where s.status_id = (select max(x.status_id) from status x where x.factuur_id = f.factuur_id) [/code:1:cbbea7c0ff] Succes. Quote Link naar reactie
anoniem Geplaatst: 8 mei 2006 Auteur Delen Geplaatst: 8 mei 2006 Dank voor je antwoord, het heeft me op de goede weg geholpen. Ik heb in mijn query een andere query gebruikt, die het hoogste id uit status opzoekt. Dit in een aparte query zetten was even datgene waar ik niet zelf op was gekomen. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen