Avatar billede suntj Nybegynder
01. marts 2001 - 11:22 Der er 12 kommentarer og
1 løsning

Sortering efter mønster

Hej
Kan det ikke lade sig gøre at sortere et SQL-kald efter et specielt mønster.
F.eks. Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, SØndag,

F.eks.
sql = \"SELECT * FROM table ORDER BY dag [Mandag, Tirsdag, Onsdag,...osv]\"
Avatar billede senj Nybegynder
01. marts 2001 - 11:25 #1
Orde by mandag,tirsdag,onsdag...... skulle da kunne gøre det! eller hvad?
Avatar billede senj Nybegynder
01. marts 2001 - 11:29 #2
SQL = \"SELECT * FROM table ORDER BY mandag,tirsdag,fredag\"
Avatar billede suntj Nybegynder
01. marts 2001 - 11:35 #3
Nej
Det var bare et eksempel på hvordan det måske kunne gøres, og for at være sikker på at i forstod hvad jeg mente.

Jeg prøver lige at uddybe:
Jeg vil gerne kunne sortere kolonnen \"dag\" efter hvilken ugedag der står, så først kommer alle poster med Mandag, og derefter alle poster med Tirsdag osv. 

Håber i forstår
Avatar billede nute Nybegynder
01. marts 2001 - 11:50 #4
hvis du normaliserer din tabell, så ir du ukedager en tallverdi istedenfor å legge inn en strengverdi for hver ukedag. hvis du gjør det så er det en enkel sak å sortere på dager...

/nute
Avatar billede keysersoze Guru
01. marts 2001 - 12:00 #5
yep - det letteste er at give dagene en tal-værdi! fx bare \"1\" \"2\" osv. og så kan du sortere efter det.

hvis du så senere skal have det udskrevet, kan du bare bruge en case, der sætter 1 = mandag og 2 = tirsdag osv
Avatar billede nute Nybegynder
01. marts 2001 - 12:02 #6
mitt forslag er at du lager en ekstratabell som ser sånn ut:

*****
DAGER
*****
id        - int (primærnøkkel)
sortOrder - int
dayString - text

og deretter en relasjonstabell mellom denne og din eksisterende tabell...

/nute
Avatar billede suntj Nybegynder
01. marts 2001 - 12:17 #7
-> Nute

Vil du være sød at uddybe en smule
Avatar billede suntj Nybegynder
01. marts 2001 - 12:18 #8
jeg mener, uddybe en smule angående relationstallen
Avatar billede nute Nybegynder
01. marts 2001 - 12:33 #9
hovsa....jeg tenkte visst litt for komplex før, men hvis jeg skulle laget dette, ville jeg gjort følgende (jeg lager et eksempel med en kalender):

********
Kalender
********
kalenderId - int (primærnøkkel)
oppgave    - text
dagId      - int (fremmednøkkel i \'Dag\'-tabell

***
Dag
***
dagId    - int (primærnøkkel)
sortOrder - int
dagText  - text

her vil fx din \'Kalender\' tabell inneholde flg. data:

kalenderId      oppgave        dagId
1            |  vaske håret  | 1
2            |  se fjernsyn  | 1
3            |  lese mail    | 2

din \'Dag\' tabell vil se sånn ut:

dagId    sortOrder    dagText
1      |    1      |  Mandag
2      |    2      | Tirsdag

...

når du da skal utføre en spørring på din \'Kalender\' tabell, slår du disse tabellene sammen med en JOIN kommando...

Håper dette hjelper litt

/nute
Avatar billede suntj Nybegynder
01. marts 2001 - 12:47 #10
Ja, jeg kom et stykke videre, men jeg ved ikke hvordan man bruger en JOIN kommando, så hvis du kan give et eksempel på det, ville det være alletiders.
Avatar billede nute Nybegynder
01. marts 2001 - 12:50 #11
SELECT * FROM Kalender INNER JOIN Dag ON Kalender.dagId = Dag.dagId ORDER BY Dag.sortOrder

den mener jeg skal fungere....(ikke testet)

/nute
Avatar billede suntj Nybegynder
01. marts 2001 - 13:53 #12
nute -> Tak for det, du får point :-)
Avatar billede nute Nybegynder
01. marts 2001 - 13:55 #13
selv takk :)
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
Kurser inden for grundlæggende programmering

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