Avatar billede kasper_knaldperle Nybegynder
13. marts 2007 - 12:38 Der er 5 kommentarer og
1 løsning

En form for krydstabulering

Jeg har en tabel med:
person
deadline
opgave

Jeg ville gerne have sat det op i et skema så man får deadline som kolonner der ud af, og personer som rækker.
Altså skal opgaverne stå der hvor opgaven har deadline for personen (svært at forklare).

Ligesom i en krydstabulering, men blot med opgaveteksten i stedet for den værdi man normalt bruger i krydstabulering.
Opgaverne har self et ID, så hvordan laves det hvis jeg vil se opgaveteksten?

Svært at forklare...I spørger bare :D

/Kasper
Avatar billede jensen363 Forsker
13. marts 2007 - 13:01 #1
Dette skulle virke

TRANSFORM First(Tabel.Opgave) AS FørsteOfOpgave
SELECT Tabel.Person
FROM Tabel
GROUP BY Tabel.Person
PIVOT Tabel.Deadline;
Avatar billede kasper_knaldperle Nybegynder
13. marts 2007 - 14:25 #2
Jep...det virker.
I mellemtiden har jeg dog lavet lidt om i det hele, så jeg tillader mig et tillægsspørgsmål.
Jeg smider gerne yderligere point efter svaret hvis det er.

Hvad nu hvis person hentes via en mange-til-mange relation i en anden tabel.
Således kan der være 2 personer om en opgave.

Altså er det koncentreret om tabellen med opgaver, der er hovedtabellen. Gennem en "xref-tabel" hentes så personerne til opgaven.

Resultatet skal stadig være som i det første...forskellen er blot at den samme opgave kan stå ud for flere personer på den samme dag.

Som sagt...jeg opretter meget gerne et nyt spørgsmål. I siger bare til :D

/Kasper
Avatar billede jensen363 Forsker
13. marts 2007 - 14:39 #3
Hvis dine data er opbygget lidt som nedenstående

Person    Deadline    Opgave
A    01-01-2007    Opg1
B    02-01-2007    Opg2
A    03-01-2007    Opg3
A    02-01-2007    Opg2

Skulle forespørgslen fungere på samme måde

Person    01-01-2007    02-01-2007    03-01-2007
A        Opg1            Opg2            Opg3
B                    Opg2
Avatar billede kasper_knaldperle Nybegynder
13. marts 2007 - 14:50 #4
njaarh...det var de før :D

Nu ser det nærmere sådan her ud:
OpgaveID  Opgave  Deadline 
1          opg1    01-01-2007
2          opg2    02-01-2007
3          opg3    03-01-2007

Og så personer i en anden tabel. Mange-til-mange relationen kører igennem en tabel der for eksempel kunne se sådan her ud:
opgID  PersonID
1        a
1        b
1        c
2        b
2        c
3        a

Det er fordi jeg gerne vil have flere personer til 1 opgave. Kan det laves anderledes kan det sagtens lade sig gøre.

Du behøver ikke at haste med svaret for jeg er først hjemme igen om et par timer eller 3 tror jeg.
:D


/Kasper
Avatar billede kasper_knaldperle Nybegynder
13. marts 2007 - 14:52 #5
nårhh...jeg laver self bare forespørgslen på min "xref-tabel".
Jeg kigger selv lige på det og vender tibage senere :D

/Kasper
Avatar billede kasper_knaldperle Nybegynder
13. marts 2007 - 16:15 #6
Nu virker det. Tusind tak for hjælpen.
:D
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