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

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