Hét vraag- en antwoordplatform van Nederland

Hoe voer ik deze code uit in sql?

Ik moet het volgende doen in sql:
"Bereken voor alle liedjes van Guus Meeuwis (zonder zijn band Vagant) die zowel in de TOP2000 van 2007 als die van 2008 staan hoeveel plaatsen ze zijn gezakt in 2008 ten opzichte van 2007. Het resultaat moet bestaan uit een lijst van nummers met daarnaast een veld met de naam 'gezakt' waarin staat hoeveel posities dat liedje is gezakt."

Ik kom zelf niet verder dan dit:

SELECT position-position
FROM liedjes, notering
WHERE artist = "Guus Meeuwis" AND notering.year = "2007" OR "2008";

Ik heb twee tabellen. Een heet "liedjes". Tabel liedjes bestaat uit de volgende onderdelen: id, year, title, artist. Waarbij year verwijst naar het jaar van uitgave. De tweede tabel heet "notering". Deze tabel bestaat uit de volgende onderdelen: id, year, position. Waarbij year verwijst naar het jaar dat hij in de top2000 stond.

Het zou erg fijn zijn als iemand mij kan helpen. Bedankt!

Toegevoegd na 30 seconden:
Ik bedoel: Hoe voer ik deze opdracht uit in sql? Niet code.

Verwijderde gebruiker
11 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Het beste antwoord

Ik zit te denken aan een inner join op zichzelf voor de noteringen tabel:

SELECT title, N8.position-N7.position FROM liedjes, notering N7 INNER JOIN notering N8 ON N7.id=N8.id WHERE liedjes.artist='Guus Meeuwis' AND liedjes.id=N7.id AND N7.year=2007 AND N8.year=2008

N7 en N8 zijn aliassen voor de tabel 'noteringen' met de records uit 2007 en 2008 respectievelijk.
Verwijderde gebruiker
11 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing