Avatar billede supermand69 Nybegynder
28. oktober 2004 - 20:37 Der er 6 kommentarer og
1 løsning

left join count

hvordan kan jeg ligge alle værdier sammen som er i en left join?

SELECT hitlist.position, hitlist.last_week, hitlist.weeks, hitlist.peak_position, track.artist, track.title, COUNT(user_top5.points) AS points
FROM $DB.eb_hitlist hitlist, $DB.eb_track track
LEFT JOIN $DB.eb_user_top5 user_top5 ON hitlist.track_id=user_top5.track_id
WHERE hitlist.track_id=track.id
ORDER BY hitlist.position, hitlist.last_week

jeg vil ligge alle points sammen
Avatar billede supermand69 Nybegynder
28. oktober 2004 - 20:51 #1
hov.. havde lige glemt en GROUP BY

SELECT hitlist.position, hitlist.last_week, hitlist.weeks, hitlist.peak_position, track.artist, track.title, COUNT(user_top5.points) AS points
FROM $DB.eb_hitlist hitlist, $DB.eb_track track
LEFT JOIN $DB.eb_user_top5 user_top5 ON hitlist.track_id=user_top5.track_id
WHERE hitlist.track_id=track.id
GROUP BY hitlist.track_id
ORDER BY hitlist.position, hitlist.last_week

som min query er nu tæller den det antal gange hvor feltet "hitlist.track_id=user_top5.track_id" bliver joinet, men vil gerne gøre sådan at den tæller værdierne sammen :)
Avatar billede arne_v Ekspert
28. oktober 2004 - 22:59 #2
Kan du lave et lille tænkt eksempel med data fra de 3 tabeller og vise
hvordan query resultat skal se ud ?
Avatar billede supermand69 Nybegynder
28. oktober 2004 - 23:14 #3
jeg har lavet lidt om på mine tabeller, men skal stadig have mulighed for at lægge alle værdier sammen i points som fra starten :)

har lige udeladt nogle af mine felter i select...

artist | title | points
----------------------------------
Kim Larsen | En titel | 5
Kim Larsen | En titel | 3
Kim Larsen | En titel | 4
Test | Halløjsa | 1
Test | Halløjsa | 2

min færdige query skulle så komme til at se således ud:
Kim Larsen | En titel | 12
Test | Halløjsa | 3
Avatar billede supermand69 Nybegynder
28. oktober 2004 - 23:19 #4
jeg skal have mulighed for at sortere mit udtræk efter det musik nr der har flest points
Avatar billede arne_v Ekspert
28. oktober 2004 - 23:26 #5
SELECT artist,title,SUM(points) FROM tabelnavn GROUP BY artist,title

giver det resultat

men der var noget med nogle andre tabeller ...
Avatar billede supermand69 Nybegynder
28. oktober 2004 - 23:41 #6
mit problem er løst ;)

lav et svar...
Avatar billede arne_v Ekspert
28. oktober 2004 - 23:45 #7
ok
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