Hallo,
ik probeer een query te maken in Access met twee tabellen met een één-op-veel relatie. Hierbij wil ik echter alleen records selecteren die in de onderliggende tabel maar 1 keer voorkomen.
Dus stel ik heb de volgende twee tabellen met KlantID als één-op-veel relatie tussen de twee:
Hieruit wil ik een query maken waarbij alleen de records uit tabel 2 geselecteerd worden met maar 1 order (dus waarbij klantID maar 1 keer voorkomt). In dit geval zouden dus alleen Ordernr 1 en 4 geselecteerd worden.
Ik dacht dit op te kunnen lossen door bij Totalen "Aantal" aan te zetten van het KlantID en deze dan als criteria "1" mee te geven, maar gek genoeg zijn de getallen bij "Aantal" niet het aantal keer dat de klantID voorkomt in de query.
De SQL code die hierbij hoort zou de volgende zijn:
[SQL]
SELECT Tabel2.Ordernr, Tabel2.KlantID, Tabel1.klantnaam, Count(Tabel2.KlantID) AS AantalVanKlantID, Tabel2.Bedrag
FROM Tabel1 INNER JOIN Tabel2 ON Tabel1.klantID = Tabel2.KlantID
GROUP BY Tabel2.Ordernr, Tabel2.KlantID, Tabel1.klantnaam, Tabel2.Bedrag;
[/SQL]
Maar dit werkt dus niet, omdat de aantallen die worden weergegeven niet de aantallen zijn die overeenkomen met wat ik zie in de query.
Wie kan mij helpen?
ik probeer een query te maken in Access met twee tabellen met een één-op-veel relatie. Hierbij wil ik echter alleen records selecteren die in de onderliggende tabel maar 1 keer voorkomen.
Dus stel ik heb de volgende twee tabellen met KlantID als één-op-veel relatie tussen de twee:
Code:
Tabel 1 Tabel 2
KlantID Klantnaam Ordernr KlantID Bedrag
1 A 1 3 500
2 B 2 2 1000
3 C 3 2 800
4 1 1200
Hieruit wil ik een query maken waarbij alleen de records uit tabel 2 geselecteerd worden met maar 1 order (dus waarbij klantID maar 1 keer voorkomt). In dit geval zouden dus alleen Ordernr 1 en 4 geselecteerd worden.
Ik dacht dit op te kunnen lossen door bij Totalen "Aantal" aan te zetten van het KlantID en deze dan als criteria "1" mee te geven, maar gek genoeg zijn de getallen bij "Aantal" niet het aantal keer dat de klantID voorkomt in de query.
De SQL code die hierbij hoort zou de volgende zijn:
[SQL]
SELECT Tabel2.Ordernr, Tabel2.KlantID, Tabel1.klantnaam, Count(Tabel2.KlantID) AS AantalVanKlantID, Tabel2.Bedrag
FROM Tabel1 INNER JOIN Tabel2 ON Tabel1.klantID = Tabel2.KlantID
GROUP BY Tabel2.Ordernr, Tabel2.KlantID, Tabel1.klantnaam, Tabel2.Bedrag;
[/SQL]
Maar dit werkt dus niet, omdat de aantallen die worden weergegeven niet de aantallen zijn die overeenkomen met wat ik zie in de query.
Wie kan mij helpen?
Laatst bewerkt: