Avatar billede lsskaarup Nybegynder
01. marts 2005 - 08:13 Der er 7 kommentarer og
1 løsning

Hjælp til sql, måske noget med join

Jeg har igennem dagen siddet og kæmpet med denne sql-sætningen, som jeg ikke helt kan få ændret, så den levere det som jeg vil have den til. Den originale ser sådan ud:

SELECT o.id as id, o.ordre as ordre, o.rev as rev, o0.r5 as levuge, o0.r5a as levaar, o0.r1 as projektleder, o0.r9 as kunde, o0.r18 as bygherre, round(o5.r504/1000) as ordresum FROM ordre AS o, ordre0 AS o0 LEFT JOIN ordre5 AS o5 ON o0.tilbudsnummer=o5.tilbudsnummer WHERE o0.tilbudsnummer=o.id && (o5.r534=1) ORDER BY o0.r5a ASC, o0.r5 ASC, o.id ASC

og returnere dette (det bliver sgu nok svært at se...)

id ordre rev levuge levaar projektleder kunde bygherre ordresum
3 3 0 1 2004 12037    1290
4 3 1 1 2004 12037 Svend Aage Christiansen A/S  1242
10 10 1 1 2004 99998 Anima Byg A/S  0
12 12 1 1 2004 99998    0
13 13 0 1 2004 99998 Anima Byg A/S Kurt Klausen og Co. 60
14 10 2 1 2004 99998 Anima Byg A/S  0
15 12 2 1 2004 99998    0
2 2 0 7 2005 99998 Anima Byg A/S Søren Fredslund Hansen 655
5 2 1 7 2005 99998 Anima Byg A/S Søren Fredslund Hansen 655
6 2 2 7 2005 99998 Anima Byg A/S Søren Fredslund Hansen 655
7 2 3 7 2005 99998 Henning Hindsgaul Søren Fredslund Hansen 670
17 14 0 7 2005 99998 Anima Byg A/S Søren Fredslund Hansen 655
21 14 1 7 2005 99998 Anima Byg A/S Søren Fredslund Hansen 655

Men som I måske kan se, så har hver ordre flere revisioner, og jeg skal kun have vidst den højeste revision, altså den seneste udgave. Jeg ved, jeg skal bruge max, kan ikke lige få bakset queryen sammen, så jeg får alle ordre med deres max revision.
Avatar billede hmortensen Nybegynder
01. marts 2005 - 19:11 #1
Du kan bruge GROUP BY revision og så sortere efter revision faldende.
Avatar billede lsskaarup Nybegynder
02. marts 2005 - 09:54 #2
Nej, jeg skal kun have vist den seneste revision, og ikke de "gamle"
Avatar billede hmortensen Nybegynder
02. marts 2005 - 11:42 #3
Derfor du skal bruge GROUP BY
Avatar billede lsskaarup Nybegynder
02. marts 2005 - 15:16 #4
Nå okay, jeg sammenblandede den lige med ordre, som jo viser dem alle. Men hvor skal jeg placere den til sidste eller før order by?
Avatar billede hmortensen Nybegynder
02. marts 2005 - 15:24 #5
Før ORDER BY.
Og husk at tilføje "o.rev DESC" på din ORDER BY
Avatar billede lsskaarup Nybegynder
04. marts 2005 - 08:26 #6
Okay, det ser ud til at virke og så alligevel ikke helt, der forsvinder i hvert fald en post, som stadig skulle vises.
Avatar billede lsskaarup Nybegynder
29. marts 2005 - 09:07 #7
Nå, jeg har løst det på en anden måde.
Avatar billede lsskaarup Nybegynder
29. marts 2005 - 09:07 #8
svar
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