Avatar billede killel Nybegynder
02. juni 2008 - 15:14 Der er 5 kommentarer og
1 løsning

Udtræk fra MySQL

Hej,

Jeg har fået en opgave med en database hvor jeg har id, sag, "checklistepunkt", ja/nej/div:

id = autogenerering
sag = unik, men fremkommer 96 gange i forbindelse med fejlkoden
checklistepunkt= 96 punkter
ja/nej/div = tekstfelt.

Databasen er bygge så "smart" op at den lagrer en post for hver checkpunkt (96 punkter). Hvem post indeholde id, sagsnummer, checkpunkt, ja/nej/div. På den måde kommer hver sag til at indeholde 96 poster hvilket ikke er så hensigtsmæssig.

Jeg vil gerne opdatere databasen således at hver sag kun fremkommer som en post/id, men med alle checkpunkterne, da den så bliver noget mere overskuelig samt nemmere at regne statistik på.

Hvordan får jeg opdateret min tabel?

Eksempel (eksisterende):
ID, sag, "checklistepunkt", ja/nej/div
00001, anders_and, grøn, nej
00002, anders_and, klog, nej
00003, anders_and, heldig, nej
.....
00097, fætter_højben, grøn, nej
00098, fætter_højben, klog, ja
00099, fætter_højben, heldig, ja
.....

Eksempel (fremtidig efter konvertering):
ID, sag, grøn, klog, heldig.......
00001, anders_and, nej, nej, nej
00001, fætter_højben, nej, ja, ja
.....
Avatar billede erikjacobsen Ekspert
02. juni 2008 - 19:54 #1
Det er det man plejer ikke at gøre. Hvordan mener du at det bliver  "nemmere at regne statistik på" - det kunne måske også skyldes, at du ikke kender nok til SQL.
Avatar billede 2c Nybegynder
02. juni 2008 - 20:10 #2
Split det op i 3 tabeller:

Sag

Checkpunkter

Sag_Checkpunkter.

I sag står feks.:
00001, anders_and
00097, fætterhøjben

I Checkpunkter står et id og et checkpinkt:
01 grøn
02 klog

i Sag_Checkpunkter står kombinationerne ud fra sag id og checkpunkt id:

feks.:
0097  02
Avatar billede killel Nybegynder
02. juni 2008 - 23:05 #3
Jeg vil gerne have lavet et udtræk så jeg kan få dataen over i excel så jeg kan lave grafer osv.

Det kræver midlertidig at jeg får lavet udtrækket så det fylder en række i excel
Avatar billede erikjacobsen Ekspert
03. juni 2008 - 08:41 #4
Og det gør du vel nemmest med et eller andet programmeringssprog. PHP?
Avatar billede killel Nybegynder
03. juni 2008 - 09:02 #5
Ja, eller et af de andre sprog for den sags skyld.

Det ville bare være meget nemmere hvis dataen var arrengeret som beskrevet ovenfor da jeg så ville kunne sætte dataen direkte ind i excel da alt til den pågældende sag ville stå i samme række.

For min skyld kunne tabellen godt blive ved med at se ud som den gør, men jeg skal i så fald have et script som arrengerer dataen for hver sag i en række som skrives til en fil.

Som det ser ud nu får jeg de ca. 96 rækker til hver sag hvis jeg blot dumper tabellen.


/2c
Jeg er delvis enig, jeg kan bare ikke lige overskue hvordan jeg får det til at stå i den 3. tabel når der skal være mange data i samme række.
F.eks.
0097, 01, 02....97
0098, 01, 02....97
Avatar billede killel Nybegynder
31. januar 2012 - 15:24 #6
lukket
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
Computerworld tilbyder specialiserede kurser i database-management

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