Avatar billede lenton Nybegynder
30. marts 2004 - 11:40 Der er 3 kommentarer og
1 løsning

Sammenblande to "ens" tabeller

Jeg skal styre indbetalinger for kunder og har bestemt mig for at dele indbetalingerne i to tabeller efter type:

indbetalingskort
check

Forskellen på disse to tabeller i strukturen er at indbetalingskort joines med Kunde via 'IndbetalingsID' og check via 'KundeID'. Kunde tabellen har begge af disse felter for hver kunde.
Grunden til at jeg gør det på denne måde er jeg importerer indbetalingskort indbetalinger ved at have primary key på et posteringsid som er bestemt af banken. På den måde kan sammeindbetaling ikke komme ind to gange.
Men jeg vil jo gerne kunne se indbetalinger for en kunde (være sig via indbetalingskort som check) alle at fremtræde i et subdatasheet for kunden.

Jeg vil så når betalingerne figurerer på dette datasheet blot have disse kolonner som findes i begge tabeller: indbetalingsdato og beløb (og evt. indbetalingsform, men det skal jeg nok selv finde ud af).
Egentlig mente jeg jo dette burde være nemt, men jeg skal jo ikke joine disse to tabeller, eller hvad? Ja jeg er faktisk helt på bar bund.
Avatar billede jensen363 Forsker
30. marts 2004 - 11:47 #1
Du skal benytte en funktion kaldet UNION, når du sammenkæder de to tabeller.

Eksempel :

SELECT tblDataI.REG_ID, "tblDataI" AS Tabel, tblDataI.udskrivningsdato, tblDataI.periode, tblDataI.pktnr, tblDataI.fakturanr, tblDataI.[kodelinie(15)]
FROM tblDataI
WHERE (((tblDataI.[kodelinie(15)])=0))
UNION
SELECT tblDataII.REG_ID, "tblDataII" AS Tabel, tblDataII.udskrivningsdato, tblDataII.periode, tblDataII.pktnr, tblDataII.fakturanr, tblDataII.[kodelinie(15)]
FROM tblDataII
WHERE (((tblDataII.[kodelinie(15)])=0));
Avatar billede trer Nybegynder
30. marts 2004 - 11:56 #2
OBS: Brug UNION ALL fremfor UNION.

UNION indeholder en implict distinct der betyder at dine data sorteres for at eventuelle dubletter kan fjernes. Da du ikke vil have dubletter bør du bruge UNION ALL - så er der ingen implict distinct og derfor en væsentlig bedre performance.
Avatar billede jensen363 Forsker
30. marts 2004 - 12:00 #3
Tak for oplysningen ;)
Avatar billede lenton Nybegynder
30. marts 2004 - 15:10 #4
Tak skal i ha! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester