2008-12-07, 15:10
  #1
Bannlyst
Har försökt skriva 2 frågor till mina databaser men kan inte få det att fungera, databaserna ser ut såhär:

Elev: pnr, namn, ort
Kurs: knr, kursnamn, ort
Tentamen: knr, pnr, datum, betyg
Garpa: knr, pnr


Här är 2 bilder på informationen i databaserna:

http://img360.imageshack.us/img360/1408/scannedimageae2.jpg

http://img360.imageshack.us/img360/8723/scannedimage2ef4.jpg


Jag är inte särskilt erfaren av MySql men det är de jag ska använda mig av, jag skriver med ett exempel på hur avancerat jag kan det:

Exempel 1:
select elev.namn, count(tentamen.pnr) from elev inner join tentamen where tentamen.pnr=elev.pnr and tentamen.knr='01' group by tentamen.pnr;

Exempel 2:
select distinct elev.pnr, elev.namn from elev inner join kurs where kurs.ort=elev.ort;


Okej nu till frågorna..

Fråga 1:
Vilka elever har inte tentat ADB? Visa personnummer och namn.
(När jag skriver får jag ändå upp den person som inte har tentat eftersom han tentat 2 andra kurser, så han kommer med ändå.)

Fråga 2:
Vilka kurser har mer än 3 elever registrerade? Visa kursnamn.
(Ingen aning hur jag ska göra om jag ska vara ärlig. Nåt med >3 iaf ^^)


Skulle vara grymt schysst om någon kunde förklara hur jag ska formulera frågorna
Citera
2008-12-07, 15:52
  #2
Medlem
Protons avatar
Citat:
Ursprungligen postat av Celahir
Har försökt skriva 2 frågor till mina databaser men kan inte få det att fungera, databaserna ser ut såhär:

Elev: pnr, namn, ort
Kurs: knr, kursnamn, ort
Tentamen: knr, pnr, datum, betyg
Garpa: knr, pnr


Här är 2 bilder på informationen i databaserna:

http://img360.imageshack.us/img360/1408/scannedimageae2.jpg

http://img360.imageshack.us/img360/8723/scannedimage2ef4.jpg


Jag är inte särskilt erfaren av MySql men det är de jag ska använda mig av, jag skriver med ett exempel på hur avancerat jag kan det:

Exempel 1:
select elev.namn, count(tentamen.pnr) from elev inner join tentamen where tentamen.pnr=elev.pnr and tentamen.knr='01' group by tentamen.pnr;

Exempel 2:
select distinct elev.pnr, elev.namn from elev inner join kurs where kurs.ort=elev.ort;


Okej nu till frågorna..

Fråga 1:
Vilka elever har inte tentat ADB? Visa personnummer och namn.
(När jag skriver får jag ändå upp den person som inte har tentat eftersom han tentat 2 andra kurser, så han kommer med ändå.)

Fråga 2:
Vilka kurser har mer än 3 elever registrerade? Visa kursnamn.
(Ingen aning hur jag ska göra om jag ska vara ärlig. Nåt med >3 iaf ^^)


Skulle vara grymt schysst om någon kunde förklara hur jag ska formulera frågorna

Din inner join är tokigt formulerad. Det ska vara inner join tabell ON tabell1.PK = tabell2.PK och inte where.

den andra frågan är inte så underlig. Du kan ju uppenbarligen inte använda WHERE där, men däremot kan du ju använda HAVING. Kolla på det ska du få se.
Citera
2008-12-07, 16:30
  #3
Bannlyst
Ah ska ändra till ON, såg det i mina papper att man gör så.. Dock funkar where också tydligen ^^

På mina frågor så vet jag inte hur jag ska göra, speciellt fråga 2.. Där måste jag nog få in både garpa och tentamen men vet inte hur -.-
Citera
2008-12-07, 20:23
  #4
Bannlyst
Ingen som har en aning om vad ska jag skriva för fråga?
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in