FOK!forum / Digital Corner / Aantal vragen omtrent Query's
mstrwoensdag 23 mei 2007 @ 23:00
Wij hebben een aantal vragen op school waar we query's voor moeten schrijven zodat je de de goede uitkomst krijgt.

Ja dit is huiswerk en het lukt me zelf niet

De 6 vragen waar ik niet uitkom
1. Soms wordt een nummer maar door een aantal artiesten gecoverd. Soms hebben nummers dezelfde titel, maar lijken ze niet op elkaar. Maak een overzichtje van titels, gezongen door meerdere artiesten, die meer dan twee keer in de lijst van 2005 voorkomen. (Gebruik hier zeker een subquery!)
Zet steeds bij elke titel, de hoogste genoteerde plaat bovenaan.

Het gene wat eruit zou moeten komen:


2. Hoeveel artiesten staan er in de top 2000 van 2005? (Dit is een lastige!)
Het gene wat eruit zou moeten komen:


3. Paul McCartney heeft naast vele hits met de Beatles en zijn band "Wings", ook deutten opgenomen. Maak een query die alleen deze deutten (de hits samen met de band Wings worden uitgesloten) weergeeft. Raadpleeg de stemlijst.
Het gene wat eruit zou moeten komen:


4. Carole King vertolkte het nummer 'You've got a friend'.
Welk nummer duurt precies even lang als dit nummer? (Tip: Gebruik subquery!)
Het gene wat eruit zou moeten komen:


5. Welke nummers staan in 2005 op dezelfde plek als het jaar ervoor?
Het gene wat eruit zou moeten komen:


6. Ondanks het enorme aantal noteringen, bleven er in 2005 toch Beatle-nummers buiten de Top2000, ondanks de vermelding op de stemlijst.
Welke waren dat? En uit welk jaar kwamen die?
Het gene wat eruit zou moeten komen:
mstrwoensdag 23 mei 2007 @ 23:01
Zou je aub de vraagnummers willen vermelden als je de query weet.
Want ik kom er niet uit
Ben er al 1½ uur mee bezig om iets te vinden
eNaSnIwoensdag 23 mei 2007 @ 23:04
2. select count(*)
from top2000
group by artist

6. select * from top2000 where name = beatles and not exists (select * from stemlijst where name = beatles)
mstrwoensdag 23 mei 2007 @ 23:06
De database, was even vergeten te posten.
Alleen de server is down
http://oplaaien.mstr.nl/zooi/top2000_2005%20nieuw.mdb
eNaSnIwoensdag 23 mei 2007 @ 23:10
Zo, heb ik alweer 33% van je huiswerk gedaan Mag je de rest zelf opzoeken, ok? http://www.w3schools.com/sql/default.asp
eNaSnIwoensdag 23 mei 2007 @ 23:12
Tip voor vraag1. iets met group by en having count > 1
WaVewoensdag 23 mei 2007 @ 23:28
vooruit:(uit het hoofd )
1) Select * From tabel x where (select count(1) from tabel y where y.titel= x.titel) > 2 order by titel, plaats.
6) Zie eNaSnI, alleen dan net andersom:
Select * from stemlijst x where artist = 'Beatles' AND (select count(1) from top2000 y where y.titel = x.titel and y.artist = x.artist) = 0
Geqxondonderdag 24 mei 2007 @ 00:24
Antwoord 1:
1
2
3
4
SELECT titel, artiest, p2005
FROM lijst2005 as l2005
WHERE (SELECT COUNT(*) FROM lijst2005 WHERE lijst2005.titel = l2005.titel) > 2
ORDER BY titel, p2005


Antwoord 3:
1
2
3
4
5
SELECT keuze, artiest, titel, jaar 
FROM Stemlijst 
WHERE Artiest NOT LIKE "Paul McCartney"
AND Artiest LIKE '*McCartney*'
AND Artiest NOT LIKE "*Wings*";


Antwoord 4:
1
2
3
SELECT p2005, titel, artiest, duur
FROM lijst2005 
WHERE Duur = (SELECT Duur FROM  lijst2005 WHERE Artiest = "Carole King" AND Titel = "You've got a friend")


Antwoord 5:
1
2
3
SELECT artiest, titel,  p2004, p2005 
FROM lijst2005 
WHERE p2004 = p2005


Antwoord 6:
1
2
3
4
SELECT artiest, titel, jaar 
FROM Stemlijst 
WHERE Artiest = 'Beatles' AND NOT EXISTS (SELECT *  FROM lijst2005 WHERE Artiest = 'Beatles' AND Titel = stemlijst.Titel)
ORDER BY jaar DESC;
mstrdonderdag 24 mei 2007 @ 00:31
Geqxon, held !
Geqxondonderdag 24 mei 2007 @ 00:33
Antwoord twee is lastig. Ook ik zat aan de oplossing van eNaSnI te denken, maar Access verprutst het op de Group By. Als iemand tips weet?
mstrdonderdag 24 mei 2007 @ 00:43
Kleine behendige kick
CasBdonderdag 24 mei 2007 @ 00:45
wat voor opleiding doe je?

als je die queries niet kan en je moet ooit met databases werken dan wens ik je veel succes.
mstrdonderdag 24 mei 2007 @ 00:48
quote:
Op donderdag 24 mei 2007 00:45 schreef CasB het volgende:
wat voor opleiding doe je?

als je die queries niet kan en je moet ooit met databases werken dan wens ik je veel succes.
4HAVO
Geqxondonderdag 24 mei 2007 @ 00:51
En doormiddel van een korte samenwerking met mstr:

Antwoord 2:
1
2
SELECT COUNT(Artiest) AS Aantal
FROM (SELECT DISTINCT Artiest FROM lijst2005);
mstrdonderdag 24 mei 2007 @ 00:51
Slotje. Bedankt !
kopje_koffiedonderdag 24 mei 2007 @ 00:54
hehe .. te makkelijk .. hoeveel havo's zijn er in landgraaf ?
vind het vast leuk als meneer B. hier een beetje huiswerkopgaven post
cyberstalkerdonderdag 24 mei 2007 @ 01:09
quote:
Op donderdag 24 mei 2007 00:51 schreef Geqxon het volgende:
En doormiddel van een korte samenwerking met mstr:

Antwoord 2:
[ code verwijderd ]
Jezus. Kun je dan niet gewoon

1
2
SELECT COUNT(DISTINCT(Artiest)) AS Aantal
FROM lijst2005;


doen? Dat kan onder MySQL prima.
Geqxondonderdag 24 mei 2007 @ 01:16
quote:
Op donderdag 24 mei 2007 01:09 schreef cyberstalker het volgende:

[..]

Jezus. Kun je dan niet gewoon
[ code verwijderd ]

doen? Dat kan onder MySQL prima.
Dat werkt onder Access helaas niet. Daarnaast vraag ik mij af wat het verschil is tussen de twee oplossingen, zowel qua netheid als performance wise? Het verschil zit hem er puur in dat in jouw voorbeeld de complete tabel aangeleverd wordt in de FROM, en in mijn geval de aangeleverde tabel alvast gefilterd is.
CasBdonderdag 24 mei 2007 @ 08:28
quote:
Op donderdag 24 mei 2007 00:48 schreef mstr het volgende:

[..]

4HAVO
ok dan mag het