Gå til innhold

Anbefalte innlegg

Heisann!

 

Har laget en database som innholder flere ulike entiter:

Bok(ID, Tittel, Forlag-ID)

Forfatter(ID, Fornavn, Etternavn, Nasjonalitet, URL)

Forlag(ID, Navn, URL)

Sjanger(ID, Betegnelse, Beskrivelse)

BokForfatter(Bok-ID, Forfatter-ID)

BokSjanger(Bok-ID, Sjanger-ID)

 

primernøkkelene er understreket.

 

Jeg skal lage en spørring som finner forfatter-id, forfatternavn og antall bøker for alle forfattere som er registrert i databasen. Forfattere som ikke har registrert noen bøker, skal ikke være med i resultatet. Noe jeg altså ikke får til. Er det noen der ute som ser en løsning, og som kan være behjelpelig?

Lenke til kommentar
Videoannonse
Annonse

Det hadde vært lettere om du hadde create table-skriptet til oss.

Nå får ikke jeg prøvd, men det skulle vel bli nesten sånn?

Må understreke at jeg ikke kan mysql, bare gjetter i vildens sky utifra listen din over.

 

SELECT Forfatter.ID, Forfatter.Fornavn, Forfatter.Etternavn, COUNT(Bok.ID) AS antall

FROM BokForfatter, Forfatter

INNER JOIN Forfatter AS Forfatter ON BokForfatter.Forfatterid = Forfatter.Forfatterid

INNER JOIN Bok ON Bok.bokid = bokforfatter.bokid

GROUP BY forfatter.fornavn, forfatter.etternavn

ORDER BY antall DESC;

 

Evt kun forfatter og bøker

 

SELECT f.fornavn, f.etternavn, COUNT(Bok.bokid) AS antall

FROM Bokforfatter AS bf

INNER JOIN Forfatter AS f ON bf.forfatterid = f.forfatterid

INNER JOIN Bok ON Bok.bokid = bf.bokid

GROUP BY f.fornavn, f.etternavn

ORDER BY antall DESC;

Endret av War
Lenke til kommentar

Heisann!

 

Har laget en database som innholder flere ulike entiter:

Bok(ID, Tittel, Forlag-ID)

Forfatter(ID, Fornavn, Etternavn, Nasjonalitet, URL)

Forlag(ID, Navn, URL)

Sjanger(ID, Betegnelse, Beskrivelse)

BokForfatter(Bok-ID, Forfatter-ID)

BokSjanger(Bok-ID, Sjanger-ID)

 

primernøkkelene er understreket.

 

Jeg skal lage en spørring som finner forfatter-id, forfatternavn og antall bøker for alle forfattere som er registrert i databasen. Forfattere som ikke har registrert noen bøker, skal ikke være med i resultatet. Noe jeg altså ikke får til. Er det noen der ute som ser en løsning, og som kan være behjelpelig?

 

Hva med:

SELECT f.ID, f.Fornavn, f.Etternavn, (SELECT COUNT(*) FROM BokForfatter WHERE Forfatter-ID=f.ID) AS Antall FROM Forfatter f ORDER BY f.Etternavn, f.Fornavn

Dette bør hente forfatterid, fornavn, etternavn og antall bøker tilknyttet denne forfatteren

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...