|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2006
Messaggi: 21
|
QUERY DIFFICILE!!
Ciao a tutti, ho un problema con una query:
Lo schema relazionale è il seguente: Organizzazione(codice, nome, città, data_fondazione) //codice è chiave Socio(codice, nome, città_residenza, data_nascita, data_affiliazione, organizzazione) // codice è chiave Evento(codice, descrizione, data, organizzazione_ospitante) //codice è chiave Contatto(codice, modalità, data, socio_contattante, socio_contattato) //codice Invito(codice_evento, codice_socio, ruolo) //codice_evento e codice_socio sono chiavi Si osservi che la relazione Socio contiene informazioni su tutti gli associati, specificando, per ciascuno di essi, l'organizzazione di appartenenza.Inoltre la relazione Invito contiene informazioni sulla partecipazione dei soci agli eventi, specificando anche il ruolo svolto dai soci nelle varie partecipazioni. La relazione Contatto contiene informazioni su tutti i contatti tra soci. Si noti che due soci S1 ed S2, hanno avuto un contatto se S1 ha contattato S2 oppure S2 ha contattato S1. Si osservi inoltre che gli attributi Socio.organizzazione e Evento.organizzazione_ospitante si riferiscono all'attributo Organizzazione.codice, mentre gli attributi Contatto.socio_contattante e Contatto.socio_contatto si riferiscono all'atttributo Socio.codice. Si chiede di ricavare per ogni organizzazione il numero medio di eventi ospitati in un anno GRAZIE A TUTTI! |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Dec 2005
Città: Fondi
Messaggi: 24
|
Si chiede di ricavare per ogni organizzazione il numero medio di eventi ospitati in un anno
Organizzazione(codice, nome, città, data_fondazione) //codice è chiave Evento(codice, descrizione, data, organizzazione_ospitante) //codice è chiave Quando si usa questa forma, la chiave si sottolinea solitamente.. inoltre avresti dovuto indicare le chiavi esterne ovvero Foreign Key. Deduco che Evento.organizzazione_ospitante sia foreign Key di Organizzazione.codice. Detto questo, posso risalire al numero di eventi select count (*), e.data, o.nome from Evento e JOIN Organizzazione o on (e.organizzazione_ospitante = o.codice) group by e.data, o.nome order by e.data, o.nome Sempre se ho ben inteso il succo della query
__________________
Blog->[LINK] |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Acireale
Messaggi: 447
|
Mi sa tanto di compito in classe di Database o no ?
__________________
Ho concluso acquisti e/o vendite con : SHIVA>>LuR<<, TheGaiden, ArvMau |
|
|
|
|
|
#4 | |
|
Junior Member
Iscritto dal: Jan 2006
Messaggi: 21
|
Sempre io
Quote:
Be dovrebbe essere simile a questo, ma non chiede i numero di eventi ospitati da una organizzazione, ma il numero medio |
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Jan 2006
Messaggi: 21
|
esatto
si esattamente, è un'appello d'esame di basi di dati, dato che sono già stato bocciato una volta, sto risolvendo tutte le query degli appelli, ma dato che non so se faccio giusto a volte devo rivolgermi ai forum :-)
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2598
|
Per fare la media per anno, devi prima contare quanti sono gli eventi per ogni anno, quindi devi fare una subquery.
Codice:
SELECT o.codice, o.nome, avg(e.numEventiAnno)
FROM Organizzazione AS o
INNER JOIN (
SELECT
organizzazione_ospitante,
year(data),
count(codice) AS numEventiAnno
FROM Eventi
GROUP BY organizzazione_ospitante, year(data)
) AS e
ON o.codice = e.organizzazione_ospitante
GROUP BY o.codice, o.nome
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:11.





















