Avatar billede nca Juniormester
20. februar 2009 - 23:48 Der er 7 kommentarer og
1 løsning

Gøre en relationsdatabase til en flad database

Jeg har lavet en database til en kunde med en 1 til mange relation.
Nu skal disse data lægges ind i en ny databasestruktur og firmaet har bedt om at få hver post på en linje i en kommasepareret fil.
Hver post kan have op til 7 tilknyttede poster via relationen.
Hvorledes får jeg det ud på én linje?
Avatar billede jesperfjoelner Nybegynder
21. februar 2009 - 10:45 #1
Ønsker de at få hovedtabellen i en fil og relationstabellen i en anden?
Eller mener du faktisk lagt sammen i en fil?

Hvis du gør det og så har du ca. tabeller som dette:
http://peecee.dk/upload/view/156142

og med denne forespørgsel:
SELECT Tabel1.navnID, Tabel1.navn, Tabel2.navnID, Tabel2.ugedag
FROM Tabel1 INNER JOIN Tabel2 ON Tabel1.navnID = Tabel2.navnID;

og får dette:
http://peecee.dk/upload/view/156144

og denne skal så eksporteres til en textfil via højreklik på forespørgslen > eksporter
Avatar billede nca Juniormester
21. februar 2009 - 11:08 #2
Det drejer sig om nogle oplysninger om kunder, som har fået foretaget et antal behandlinger på en klinik.
Jeg har en kundetabel med alle nødvendige oplysninger om kunden.
Jeg har også en behandlingstabel, med kundens cpr-nummer og øvrige oplysninger om behandlingen. I denne tabel er både tekst-felter og notatfelter.
Kunderne kan have fra 1 til 7 behandlinger.
Mellem de 2 tabeller er der lavet en 1 til mange relation på CPR-nummer.
Firmaet ønsker nu basen udskrevet på dette format:
<kundeoplysninger><behandling1><behandling2>...
Hvor <kundeoplysning> indeholder alle felter i kommasepareret form, <behandling> indeholder ligeledes alle felter fra tabellen på kommasepareret form.
Jeg har ingen problemer med at få basen eksporteret, men mangler ideer til at få det hele lagt ind i én flad database.

Behandlingstabellen består af 4 felter, så måske skal kundetabellen udvides med 7 x 4 felter (beh1-felt1, beh1-felt2, beh1-felt3, beh1-felt4, beh2-felt1, ... og så flytte indholdet fra behandlingstabellen ind i disse nye felter.
Avatar billede jesperfjoelner Nybegynder
22. februar 2009 - 21:39 #3
Ja jeg tror du har fat i det med dit sidste forslag.
Det bliver mange kolonner, men det kan jo ikke undgås.

Du får så brug for noget automatik der kan gøre det for dig, når du har oprettet tabellen.

du kan evt oprette den nye store tabel og så noget kode, til at løbe kundetabel og behandlingstabel igennem og lægge det rigtigt over i den nye store tabel
Avatar billede nca Juniormester
23. februar 2009 - 08:22 #4
Jeg har fundet ud af, at det var en sælger, jeg havde kontakt med ;-)

Jeg stikker lige piben ind, indtil jeg har hørt fra en tekniker.
Foreløbig tak for støtten.
Avatar billede petersen7913 Forsker
23. februar 2009 - 13:21 #5
Lige et ekstra indspark!

Du skriver > Jeg har også en behandlingstabel, med kundens cpr-nummer og øvrige oplysninger om behandlingen

Du skal altså være meget opmærksom på at CPRnumre er det der hedder personhenførbare data (klart og kort navn) OG! at det er noget Datatilsynet godt kan være ret opmærksom på.

Så check lige med din kunde OM det er nødvendigt med cpr eller det 'bare er noget man bruger for det er praktisk'. Din kunde KAN få smæk over fingrene og du BØR, som leverandør, gøre kunden opmærksom på det.

Åh, og så er din kommentar om at du havde snakket med en sælger ;o) he he he
Avatar billede nca Juniormester
23. februar 2009 - 13:53 #6
Kunden skifter nu til et udbredt program inden for sundhedssektoren, så jeg går ud fra, at firmaet har styr på datasikkerheden.
Jeg skal henlede kundens opmærksomhed på problematikken og bede dem om at drøfte det med det nye firma.
Tak for henvisningn.
Avatar billede nca Juniormester
24. februar 2009 - 15:51 #7
Jeg har løst problemet ved at lave en rapport, som jeg så har eksporteret i excel-format.
Her fra har jeg gemt filen som en csv-fil.
Et lille Delphi-program har så tygget sig igennem tekstfilen og fået samlet alle kundeoplysningerne på 1 linje for hver kunde.

Tak for jeres interesse for at finde en løsning.

Da der kun er lagt et svar, får jesper alle pointene.
Avatar billede jesperfjoelner Nybegynder
24. februar 2009 - 16:47 #8
hejhej jo tak, det var ikke så meget hjælp jeg nåede at give. Sig til hvis der er andet vi kan hjælpe med. Held og lykke med det.
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