Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

MS Access - Query op n tabellen met specifieke voorwaarde

Dick Bierman
2 antwoorden
  • 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!
  • 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.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.