Avatar billede hkb-x Nybegynder
08. august 2005 - 13:53 Der er 7 kommentarer og
1 løsning

SQL problem

jeg skal via databasen opsætte et medlemsskema for min forening... der kommer dog 3 regler for opsætningen:

1) Medlemmerne skal fordeles efter bands efter bandnavnets alfabetiske orden.

2) Internt i bandet skal medlemmerne fordeles efter instrument.

3) Der er en ansvarshavende for hvert band han skal uanset instrument placeres først i bandrækkefølgen.

Hvordan skal jeg fremstille de 3 regler i min SQL forespørgsel?
Avatar billede barklund Nybegynder
08. august 2005 - 13:59 #1
Det kan vel klares med lidt order by:

SELECT
  *
FROM
  member INNER JOIN band ON member.band_id = band.band_id
ORDER BY
  band.band_name,
  member.is_manager,
  member.instrument

Tror jeg bare det er :)

--
Morten Barklund
Avatar billede hkb-x Nybegynder
08. august 2005 - 14:02 #2
nah... ka den ikke li... btw. jeg arbejder med MySQL hvis det gør en forskel...
Avatar billede barklund Nybegynder
08. august 2005 - 14:04 #3
Hvad kan den ikke lide? jeg kender jo ikke dine tabeller, så de virker jo kun, hvis jeg har gættet rigtigt på tabel- og attribut-navne...
Avatar billede hkb-x Nybegynder
08. august 2005 - 14:12 #4
hmm... det her er jeg kommet frem til:

select * from medlemmer order by band desc, instrument asc, lead desc

så skriver den:

børge
jørgen
martin
hans

men den burde skrive:

børge
jørgen
hans
martin

da hans har value=1 ved lead hvor martin har value=0

men uanset hvad jeg gør ved lead så er den liggeglad...
Avatar billede hkb-x Nybegynder
08. august 2005 - 14:15 #5
ahhr.. nu har jeg den:

select * from medlemmer order by band desc, lead desc, instrument asc

da lead har størrere pririortet end instrument... men tak forhjælpen alligevelg barklund... skriv et svar...
Avatar billede barklund Nybegynder
08. august 2005 - 14:17 #6
Jeg skrev da også netop instrument til sidst? Men fair nok :)
Avatar billede hkb-x Nybegynder
08. august 2005 - 14:18 #7
yep... det er da også derfor du skal have point...
Avatar billede barklund Nybegynder
08. august 2005 - 14:20 #8
Finfin, tark for points :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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