Hei olen harjoittelemassa tietokantojen tekoa ja olen tehnyt kolme taulua(koska suhde N:N).
1. Vuokraaja
----------
vuokraajanumero int (4)
nimi varchar (10)
pääavain vuokraajanumero
2. Kirja
--------------
kirjannumero int (4)
nimi varchar (10)
onkolainassa varchar(1) Kyllä tai ei
pääavain kirjannumero
3. Kenellalainassa
-------------------
vuok_numero int (4)
kirj_numero int (4)
foreign key (vuok_numero) references vuokraaja(vuokraajanumero)
foreign key (kirj_numero) references kirja(kirj_numero)
-------------------
Eli nyt ongelmani on millaisen select lauseen tarvitsen, että tiedän kuka on vuokrannut minkäkin kirjan?
Siis haluaisin tulostaa kirjannimen ja sen kenellä se on lainassa. Olen yrittänyt tätä jo tuskatumiseen asti.
Johanna
1. Vuokraaja
----------
vuokraajanumero int (4)
nimi varchar (10)
pääavain vuokraajanumero
2. Kirja
--------------
kirjannumero int (4)
nimi varchar (10)
onkolainassa varchar(1) Kyllä tai ei
pääavain kirjannumero
3. Kenellalainassa
-------------------
vuok_numero int (4)
kirj_numero int (4)
foreign key (vuok_numero) references vuokraaja(vuokraajanumero)
foreign key (kirj_numero) references kirja(kirj_numero)
-------------------
Eli nyt ongelmani on millaisen select lauseen tarvitsen, että tiedän kuka on vuokrannut minkäkin kirjan?
Siis haluaisin tulostaa kirjannimen ja sen kenellä se on lainassa. Olen yrittänyt tätä jo tuskatumiseen asti.
Johanna
Vastaukset 5
Vanhimmat
.. näin:
SELECT Kirja.nimi, Vuokraaja.nimi FROM (Kirja INNER JOIN Kenellalainassa ON Kirja.kirjannumero = Kenellalainassa.kirj_numero) INNER JOIN Vuokraaja ON Vuokraaja.vuokraajanumero = Kenellalainassa.vuok_numero;
Eli heitää tuollaisen errorin?
ERROR 1066: Not unique table/alias:
Kenellalainassa-taulun rivi:
"foreign key (kirj_numero) references kirja(kirj_numero)"
on pielessä. Pitäisi olla:
foreign key (kirj_numero) references kirja(kirjannumero)
Noin se onkin mutta sama virheilmoitus??
.. create tables -skriptisi kaikista kolmesta taulusta.