Gå til innhold

sql-spørring


Anbefalte innlegg

Denne har jeg sliti litt med..

 

Har tabellene:

 

Sang (sang_id)

Album (album_id)

Album_Sang, (id, *sang_id, *album_id) som knytter disse sammen

 

I tillegg en poeng-tabell:

 

Poeng (poeng_id, poeng, *sang_id)

 

Nå har det seg slik at ikke alle sangene har poeng.

Hvordan kan jeg få opp alle låtene i en liste?

 

Med denne spørringa får jeg bare de som har poeng:

select s.sang_id, poeng
from album_sang as als, album as a, sang as s, poeng as p
where s.sang_id = als.sang_id
and a.album_id = als.album_id
and s.sang_id = p.sang_id

 

Har testa med enkelte left join-setninger, men blir bare tull.

Endret av OyvindN
Lenke til kommentar
Videoannonse
Annonse

Hva er det der a.album_id og s.sang_id greiene, mao, hvorfor har du a. og s. foran der?

 

edit: vil bare si at jeg blir litt forvirra av dem ;)

 

edit2: tror jeg skjønte det nå, *se mere på*

 

edit3: nei, forstår det enda ikke

Endret av LoS
Lenke til kommentar

Skriver s istedetfor sang osv ved "sang as s"

 

Men dette går for det samme:

 

select sang.sang_id, poeng
from album_sang, album, sang, poeng
where sang.sang_id = album_sang.sang_id
and album.album_id = album_sang.album_id
and sang.sang_id = poeng.sang_id

Lenke til kommentar

Hva er det du vil hente fra databasen?

 

Hvordan kan jeg få opp alle låtene i en liste?

Hvis du bare vil ha en liste med låtene velger du bare SELECT * FROM sang, eller eventuelt select distinct hvis du har dobeltlagringer av låtene - noe du ikke burde ha.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...