Avatar billede avest Nybegynder
05. september 2002 - 10:27 Der er 3 kommentarer og
1 løsning

Sammenligne to poster

Jeg har en historik tabel sorteret på personer.
ID | startdato | slutdato | Emne

1  | 01-01-00 | 31-12-00 | aaaaa
1  | 01-01-01 | 31-12-01 | bbbbb
1  | 01-01-02 | 15-05-02 | bbbbb
1  | 16-05-02 | 31-07-02 | ccccc
1  | 01-08-02 |          | ccccc
2  | 01-01-01 | 31-12-01 | fffff
2  | 01-01-02 |          | ddddd

For hvert år registreres emnet, desuden registreres hvis der er et skift midt i året.

Jeg skal finde alle de skift som findes i tabellen noget i retningen af

ID | startdato | fraemne | tilemne

Men så skal jeg sammenligne på tværs af de enkelte poster, faktsik de to poster som ligger ved siden af hinanden. Hvordan gør jeg det.

I en sorteret liste må det blive noget som:
IF(ID=ID & Emne(x-1) <> Emne(x))

Hvis to efter hinanden følgende emner er forskellige og der er tale om det samme ID så skal informationen trækkes ud i en forespørgsel.
Avatar billede avest Nybegynder
05. september 2002 - 10:29 #1
IF(ID(x-1)=ID(x) & Emne(x-1) <> Emne(x))
Avatar billede lasse_buck Nybegynder
05. september 2002 - 14:58 #2
Hvis man som mellemtrin laver en navngivet query, så bliver det mere overskueligt.

Data ligger i tabellen x.

Laver følgende Query ved navn TILSKIFT:
SELECT x2.id, x2.EMNE AS tilemne, Max(x1.SLUTDATO) AS FoerSlut, Min(x2.STARTDATO) AS EfterStart
FROM x AS x1, x AS x2
WHERE (((x1.SLUTDATO)<=[x2].[startdato]) AND ((x1.emne)<>[x2].[emne]) AND ((x1.ID)=[x2].[ID]))
GROUP BY x2.ID, x2.emne;

Laver query med resultat:
SELECT TILSKIFT.id, TILSKIFT.EfterStart AS startdato, x.emne AS FRAEMNE, TILSKIFT.tilemne AS TILEMNE
FROM x, TILSKIFT
WHERE x.ID = TILSKIFT.ID AND x.slutdato = TILSKIFT.FoerSlut;
Avatar billede avest Nybegynder
05. september 2002 - 15:59 #3
Takker, jeg prøver at implementere det og se om det giver noget der ligner et rigtigt resultat. Aner ikke hvad der sker, men jeg er også meget ny i SQL.
Avatar billede avest Nybegynder
09. september 2002 - 14:11 #4
Virker jo fint. Fornemt!
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