Avatar billede horizon Nybegynder
01. november 2008 - 22:31 Der er 7 kommentarer og
1 løsning

ORDER BY værdier fra en anden tabel

Jeg har f.eks. 2 tabeller.

en person og en busture tabel.

Jeg skal så liste alle personerne ud fra hvor mange busture de har foretaget.

Hver bustur en person har foretaget logges som en række i busture tabellen.

hvordan gøres dette? man kan vel ikke sige ORDER BY COUNT(id) FROM `busture` i en query vel?

Kan dette lade sig gøre uden at lave et felt i person tabellen som automatisk forøges når man foretager en bustur?
Avatar billede htx98i17 Professor
02. november 2008 - 14:37 #1
Ja til sidste spørgsmål

eksempelvis
SELECT
COUNT(tb.navn) AS antal_ture,
tp.navn
FROM
tblperson AS tp
JOIN tblbusture AS tb ON tb.navn = tp.navn
GROUP BY tb.navn
ORDER BY antal_ture DESC
Avatar billede erikjacobsen Ekspert
02. november 2008 - 15:01 #2
Hvis du skal have dem med 0 ture mere skal det nok være en LEFT join.
Avatar billede horizon Nybegynder
02. november 2008 - 21:19 #3
Så langt så godt :-)

Men jeg får en udskrift der ligner dette:

navn ture
Jens 1
Per  1
Per  1
Per  1

Hvor jeg i stedet hellere ville have dette:

navn Ture
Jens 1
Per  3

Jeg prøvede at lave en SUM i stedet for en COUNT, men det fungerede ikke.
Avatar billede erikjacobsen Ekspert
02. november 2008 - 21:21 #4
Hvad står der i dine tabeller, og hvilken SQL-sætning prøver du med?
Avatar billede htx98i17 Professor
02. november 2008 - 21:22 #5
kan du poste din databasestruktur
Avatar billede htx98i17 Professor
02. november 2008 - 21:23 #6
erik du tager bare over
Avatar billede horizon Nybegynder
02. november 2008 - 21:34 #7
Jeg fik den til... havde kommet til at sige GROUP BY antal_ture i stedet for navn. så nu virker det helt efter hensigten. :-)og ved at skrive LEFT JOIN fik jeg også fat i dem der ikke havde nogle busture :-)

Smid et svar begge to.
Avatar billede erikjacobsen Ekspert
02. november 2008 - 21:56 #8
Godt nok. Ingen point til mig, tak.
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