overzicht bestelde artikelen per klant

Status
Niet open voor verdere reacties.

veenvlij

Gebruiker
Lid geworden
4 dec 2008
Berichten
23
Hallo, voor het maken van een overzicht van bestelde artikelen per klant het volgende :

Ik heb 2 tabellen
1: Leden
• Veld_id
• klant_nr
2: bestellingen
• Veld_id
• Klant_nr
• Artikel_id

Als resultaat zou ik willen zien:

klant_nr, Artikel_id, Artikel_id
1 100 110

men wil voornamelijk een overzicht van klanten die zowel artikel 100 als 110 hebben besteld.

Iemand enig idee hoe ik dit kan doen?
 
Laatst bewerkt:
Ik weet niet als je vraag voor SQL of MySQL is maar als het SQL is kun je dit doen door :

[sql]
SELECT [Leden].[Klant_nr], [Leden].[Artikel_id], [Bestellingen].[Artikel_id]
FROM [Leden]
INNER JOIN [Bestellingen]
ON [Leden].[Klant_nr] = [Bestellingen].[Klant_nr]
[/sql]
Ik ga er hier vanuit dat je resultaat is : klant_nr, Artikel_id leden, artikel_id bestellingen

Je kunt dit uiteraard omdraaien, verder is er een aanname dat je relatie veld gelijk is tussen de twee tabellen voor het klant_nr.

Succes ermee
 
Laatst bewerkt door een moderator:
Als je een overzicht wilt van alle klanten die zowel artikel 100 als 110 hebben besteld heb je de "Leden" tabel niet nodig omdat in de "Bestellingen" tabel ook al een klant_nr is terug te vinden.

Je kunt de query maken door de bestellingen tabel zichzelf te laten joinen via het klant_nr en te kijken waar zowel artikel 100 als 110 voorkomt. De query ziet er dan als volgt uit.

[SQL]
SELECT DISTINCT(b.klant_nr), b.Artikel_id, b2.Artikel_id
FROM bestellingen b, bestellingen b2
WHERE b.Artikel_id = 100
AND b2.Artikel_id = 110
AND b.Klant_nr = b2.Klant_nr
[/SQL]
 
SELECT [Leden].[Klant_nr], [Leden].[Artikel_id], [Bestellingen].[Artikel_id]
FROM [Leden]
INNER JOIN [Bestellingen]
ON [Leden].[Klant_nr] = [Bestellingen].[Klant_nr]
WHERE [Bestellingen].[Artikel_id] IN ('100', '110')

Ik mis even waarom ik op een gelijke relatie tussen twee tabellen niet gewoon een inner join zou doen maar that's me. Uiteindelijk geven beide hetzelfde resultaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan