Vier tabellen aan elkaar koppelen

Status
Niet open voor verdere reacties.

Excelbat

Gebruiker
Lid geworden
23 mrt 2012
Berichten
402
Hallo allemaal,

Ik heb twee mappen op mijn PC: software en hardware.
Zowel in map software als in map hardware heb ik twee access-bestanden: Opdrachten.accdb en Klanten.accdb
Dus totaal vier access-bestanden die ik aan elkaar wil koppelen. Een UnionAll van beide Opdrachten.accdb loopt probleemloos.
Maar hoe koppel ik daar de Klanten.accdb aan. Wie kan mij helpen? Onderstaande code werkt dus niet:

Code:
SELECT AAA.Klantnummer,AAA.Opdrachtnummer,AAA.Welkemaand FROM `d:\database\Hardware\Opdrachten.accdb`.tblOpdracht as AAA
WHERE [Welkemaand] = 201512
UNION ALL
SELECT BBB.Klantnummer,BBB.Opdrachtnummer,BBB.Welkemaand FROM `d:\database\Software\Opdrachten.accdb`.tblOpdracht as BBB
WHERE [Welkemaand] = 201512

SELECT CCC.Klantnummer,CCC.Klantnaam,CCC.Klantplaats FROM `d:\database\Hardware\Klanten.accdb`.tblKlant as CCC
WHERE AAA.Klantnummer=CCC.Klantnummer
UNION ALL
SELECT DDD.Klantnummer,DDD.Klantnaam,DDD.Klantplaats FROM `d:\database\Software\Klanten.accdb`.tblKlant as DDD
WHERE BBB.Klantnummer=DDD.Klantnummer

Thankx/Excelbat
 
Je koppelt met UNION alleen tabellen aan elkaar die een identieke structuur hebben. Bij de tabellen tblOpdrachten kan dat dus prima, en met de tabellen tblKlant zou het ook prima moeten werken. Je zegt dat de laatste variant niet werkt; dat verbaast me niks. Hoe denk je een tabel te kunnen filteren op basis van een veld dat niet in de query zit?
Code:
WHERE AAA.Klantnummer=CCC.Klantnummer
Weet je überhaupt het verschil wel tussen UNION en UNION ALL?
 
Thanx Octafish,

Ik ben nog een newbee wat SQL betreft.
Het veld benodigd voor het filter staat/stond wel in de query. Dat soort logica is mij wel bekend. (Ik werk veel met excel en tabellen).
Ik ben nogal een doorbijter, en ik ben vanmiddag uiteindelijk, met veel proberen, tot de volgende werkende code gekomen:

Code:
SELECT 
AAA.Klantnummer,AAA.Opdrachtnummer,AAA.Welkemaand, 
BBB.Klantnummer,BBB.Opdrachtnummer,BBB.Welkemaand 

FROM `d:\database\Hardware\Opdrachten.accdb`.tblOpdracht as AAA, `d:\database\Software\Opdrachten.accdb`.tblOpdracht as BBB

WHERE AAA.Klantnummer=BBB.Klantnummer
AND [Welkemaand] = 201512

UNION ALL

SELECT
CCC.Klantnummer,CCC.Klantnaam,CCC.Klantplaats,
DDD.Klantnummer,DDD.Klantnaam,DDD.Klantplaats

FROM `d:\database\Hardware\Klanten.accdb`.tblKlant as CCC,`d:\database\Software\Klanten.accdb`.tblKlant as DDD

WHERE BBB.Klantnummer=DDD.Klantnummer

Greetz/Excelbat
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan