Avatar billede lsskaarup Nybegynder
20. maj 2008 - 12:37 Der er 1 løsning

Problem med sortering af datofelter

Jeg har følgende sql-sætning, der driller mig lidt, men der er jo nok også fejl i den...

SELECT t.tilbud, t.rev, t1.tilbudsnummer, t1.r2, UNIX_TIMESTAMP(t1.r4) as r4, r4a, t1.r9, t1.r18, t.status, k.navn1, t1.r14, t1.r1, t5.r504, t5.r526a, (TO_DAYS(t1.r4)-TO_DAYS(NOW())) AS datemark FROM tilbud AS t, tilbud0 AS t1 LEFT JOIN kunde AS k ON t1.r14=k.id LEFT JOIN tilbud5 AS t5 ON t1.tilbudsnummer=t5.tilbudsnummer WHERE t1.tilbudsnummer=t.id && (t5.r526a=0 || t5.r526a IS NULL) ORDER BY IF((t1.r4a = 1),0,1), IF(ISNULL(r2),1,0)

Meningen er at alle tilbud der har 1 i r4a, skal vises øverst sorteret efter r2 (datofelt), ældste øverste. Dernæst skal den sortere alle andre efter r2, igen med ældste øverste.

Men af en eller anden grund, så sorterer den på tilbudsnummer, i stedet for r2.

Nogle der kan hjælpe?
Avatar billede lsskaarup Nybegynder
29. maj 2008 - 08:44 #1
Har selv løst det, fandt denne side: http://www.shawnolson.net/a/730/mysql-sort-order-with-null.html

Der forklarede hvordan man kunne sortere specifikt på 1, 0 og NULL, hvilket præcist, var mit problem.
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