/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
"ORDER BY" problem ...
Fra : Rune Baess


Dato : 10-08-01 14:25



Jeg har en kolonne i en tabel der indeholder typeværdier defineret som
bestemte tal. (sat i tabellen fra en <select> - liste)

Når jeg skal trække dem ud, vil jeg gerne sortere dem på en bestemt måde, -
som i dette tilfælde hverken er ASC eller DESC, men efter en bestemt
rækkefølge jeg selv definerer. Jeg ved i forvejen at alle værdier ligger i
området 0-8...

Det ville jo være at foretrække, frem at skulle lave 9 forskelle udtræk i
den ønskede rækkefølge...

Min SQL sætning ligner dette:
SELECT * FROM kursus WHERE (kat = 2) ORDER BY type ASC;

- men ville helere frem til noget der ligner
SELECT * FROM kursus WHERE (kat = 2) ORDER BY type [liste];

Hvor listen fx, kunne være (1, 0, 3, 2, 4, 5, 6, 7, 8)

- - - Kan man det ? - - -

Rune

PS. jeg kører på SQL server 7, og har brugt flere timer på at bladre SQL
bogen / MSDN igennem, men kan ikke finde andet end ASC og DESC, men det
hedder jo nok noget andet når det kommer til stykket...






 
 
Bo Møller-Nielsen (10-08-2001)
Kommentar
Fra : Bo Møller-Nielsen


Dato : 10-08-01 22:45

Hej Rune.

Hvis du opretter en ny tabel som indeholder de værdier du ønsker at
bruge (0 - 8) og for hver af disse tal angiver en vægtning, så vil du
ved et opslag i begge tabeller kunne få den ønskede sortering
SELECT * FROM kursus, TABEL WHERE Kursus.Tal = TABEL.Tal ORDER BY
Tabel.Vaegt;

Mvh.

Bo Møller-Nielsen


On Fri, 10 Aug 2001 15:25:15 +0200, "Rune Baess"
<rune@(removethisthing)baess.dk> wrote:

>
>
>Jeg har en kolonne i en tabel der indeholder typeværdier defineret som
>bestemte tal. (sat i tabellen fra en <select> - liste)
>
>Når jeg skal trække dem ud, vil jeg gerne sortere dem på en bestemt måde, -
>som i dette tilfælde hverken er ASC eller DESC, men efter en bestemt
>rækkefølge jeg selv definerer. Jeg ved i forvejen at alle værdier ligger i
>området 0-8...
>
>Det ville jo være at foretrække, frem at skulle lave 9 forskelle udtræk i
>den ønskede rækkefølge...
>
>Min SQL sætning ligner dette:
>SELECT * FROM kursus WHERE (kat = 2) ORDER BY type ASC;
>
>- men ville helere frem til noget der ligner
>SELECT * FROM kursus WHERE (kat = 2) ORDER BY type [liste];
>
>Hvor listen fx, kunne være (1, 0, 3, 2, 4, 5, 6, 7, 8)
>
> - - - Kan man det ? - - -
>
>Rune
>
>PS. jeg kører på SQL server 7, og har brugt flere timer på at bladre SQL
>bogen / MSDN igennem, men kan ikke finde andet end ASC og DESC, men det
>hedder jo nok noget andet når det kommer til stykket...
>
>
>
>
>


Rune Baess (10-08-2001)
Kommentar
Fra : Rune Baess


Dato : 10-08-01 22:44

> Hvis du opretter en ny tabel som indeholder de værdier du ønsker at
> bruge (0 - 8) og for hver af disse tal angiver en vægtning, så vil du
> ved et opslag i begge tabeller kunne få den ønskede sortering
> SELECT * FROM kursus, TABEL WHERE Kursus.Tal = TABEL.Tal ORDER BY
> Tabel.Vaegt;

Klart, jeg stillede også spørgsmålet i databasegruppen, og en smart person
kom med næsten samme idé, blot ved at lave en join (left) i stedet...

Rune



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408874
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste