PDA

View Full Version : [SQL]Query su istanze della stessa tabella


braian
14-08-2008, 13:46
Sto studiando per dare l' esame di basi di dati.
Non capisco come scrivere una query su quasto database:

Attori(CodiceAtt, Nome, AnnoNascita);
AttoriFilm(CodiceAtt*, CodiceFilm*)
Film(CodiceFilm, Titolo, AnnoProduzione, Regista)
Proiezioni(CodiceFilm*, CodiceSala*, Incasso, DataProiezione)
Sala(CodiceSala, Posti, Nome, Citta)

Dove le sottolineature denotano chiavi primarie e gli asterischi chiavi esterne.

La query che devo scrivere è la seguente:
Per ogni film in cui appaiono due attori diversi nati lo stesso anno trovare il codice del
film ed i nomi dei due attori

La soluzione che mi viene data è questa ma non è compatibile con i DBMS che uso non potendo definire le istanze a1,a2,af1,af2.

SELECT af1.CodiceFilm, a1.Nome, a2.Nome
FROM Attori a1, AttoriFilm af1, AttoriFilm af2, Attori a2
WHERE a1.CodiceAtt = af1.CodiceAtt AND af1.CodiceFilm = af2.CodiceFilm
AND af2.CodiceAtt = a2.CodiceAtt AND a1.AnnoNascita = a2.AnnoNascita
AND a1.CodiceAtt < a2.CodiceAtt ;

Come si scrive?

:help:

braian
14-08-2008, 14:26
al momento ritiro quello che ho detto, ho provato la query su derby(javadb) e sembra funzionare...cosa che non succedeva su un dbms didattico chiamato JRS.
Comunque accetto volentieri query fatte in altro modo, magari senza definire le istanze come già specificato.Grazie