View Full Version : [SQL]
ciccio er meglio
15-06-2008, 10:45
a
amedeoviscido
15-06-2008, 10:49
Dovresti editare il titolo, [SQL] è troppo generico.
E' prassi del forum non aiutare quelli che chiedono la risoluzione di progetti di studio. Direi che è il tuo caso; ad ogni modo però se ci dici almeno come intendi risolvere il problema, ti possiamo indirizzare verso la query giusta, ma almeno facci vedere che hai capito...
ciccio er meglio
15-06-2008, 11:01
Dovresti editare il titolo, [SQL] è troppo generico.
E' prassi del forum non aiutare quelli che chiedono la risoluzione di progetti di studio. Direi che è il tuo caso; ad ogni modo però se ci dici almeno come intendi risolvere il problema, ti possiamo indirizzare verso la query giusta, ma almeno facci vedere che hai capito...
Mi dici per quale motivo no dovreste aiutare un povero studente Universitario già maltrattato da indegni tutor universitari? :cry:
Il mio non è un progetto ma solo parte di una traccia di un compito vecchio di anni fa ;)
Allora, visto che qui funziona cosi, ti dimostro che qualcosa ho capito e ti spiego i miei dubbi:
Nella 1 non ho capito che intende con "nei vari anni". E poi quando dice "una sola volta", va inteso come "soltanto, solamente, solo"? Se è cosi allora va tradotta con due negazioni, in questo modo(credo :D):
Selezionare le persone che nel 2008 hanno visitato una localita di mare nella provincia di siracusa tale che non esiste una tempesta che si è verificata in quella localita e non possa esistere una tempesta di neve
ciccio er meglio
15-06-2008, 11:07
NOn sono riuscito a capire come si modifica il titolo..Ho cliccato su modifica ma posso modificare solo il testo del post, non il titolo...
Ad ogni modo credo che la mia traduzione si errata, è la prima che faccio, ho fatto sempre esercizi con "tutti/tutte"
FOrse mi sto confondendo. Devo considerare semplicemente "una sola volta" come una volta....
Ora ti posto come l'ho fatta
amedeoviscido
15-06-2008, 11:13
Mi dici per quale motivo no dovreste aiutare un povero studente Universitario già maltrattato da indegni tutor universitari? :cry:
Perché è la prassi, se tutti si facessero fare gli esercizi quì, sarebbe un macello. E poi potrebbero verificarsi casi come questo... LOL:
http://www.hwupgrade.it/forum/showthread.php?t=1602308
Nella 1 non ho capito che intende con "nei vari anni". E poi quando dice "una sola volta", va inteso come "soltanto, solamente, solo"? Se è cosi allora va tradotta con due negazioni, in questo modo(credo :D):
"Nei vari anni" potrebbe essere fuorviante; io la interpreterei come "è registrata una sola tempesta di neve, indipendentemente dall'anno".
Dammi qualche minuto che devo uscire dalla stanza e ti do qualche aiuto extra
ciccio er meglio
15-06-2008, 11:15
Select P.codicep from persona P, visita V, localita L
where p.codicep=v.codicep and v.codicel=L.codicel and v.anno=2008 and L.tipologia='mare' and L.codicel IN
(select L1.codicel
from localita L1, Verifica VR1, Maltempo M1
where L1.codicel =VR1.codicel and VR1.codiceM=M1.codicem and M1.NOmeM="tempesta di neve")
Che ne pensi?
ciccio er meglio
15-06-2008, 11:19
Perché è la prassi, se tutti si facessero fare gli esercizi quì, sarebbe un macello. E poi potrebbero verificarsi casi come questo... LOL:
http://www.hwupgrade.it/forum/showthread.php?t=1602308
Spettacolo! :D Ti assicuro che non è il mio caso!
ciccio er meglio
15-06-2008, 11:56
Comunque quel'utente avrebbe potuto allegare in un file di testo la traccia del progetto cosi google non avrebbe mai visualizzato la traccia :D
Io per esempio ho allegato una query che ho fatto poco fa :) Dovrebbe essere banale. Fammi sapere che ne pensi ;)
amedeoviscido
15-06-2008, 11:59
Si ma non è per quello. Se gli esercizi li fanno gli altri poi non ti resta niente.
Select P.codicep from persona P, visita V, localita L
where p.codicep=v.codicep and v.codicel=L.codicel and v.anno=2008 and L.tipologia='mare' and L.codicel IN
(select L1.codicel
from localita L1, Verifica VR1, Maltempo M1
where L1.codicel =VR1.codicel and VR1.codiceM=M1.codicem and M1.NOmeM="tempesta di neve")
Che ne pensi?
Manca la specifica che la località è la provincia di Siracusa, quindi così
com'è non può andare.
Io procederei in questo modo:
1) estrarrei la lista delle località nella provincia di Siracusa nelle quali si è verificata solo una tempesta di neve (e tieni ben presente, non nessuna o una, ma una e soltanto una)
2) Troverei la lista delle persone che nel 2008 hanno visitato quelle località.
Quindi direi che il tuo modo di procedere è esatto, ma devi specificare meglio la query più interna, quella che risponde al requisito 1 per intenderci.
amedeoviscido
15-06-2008, 12:03
Adesso che ci penso, la query è piuttosto difficile. Forse ti conviene creare una vista, che ti dia il codice località ed il numero di tempeste di neve. Hai studiato le viste?
ciccio er meglio
15-06-2008, 12:11
Si ma non è per quello. Se gli esercizi li fanno gli altri poi non ti resta niente.
Manca la specifica che la località è la provincia di Siracusa, quindi così
com'è non può andare.
Io procederei in questo modo:
1) estrarrei la lista delle località nella provincia di Siracusa nelle quali si è verificata solo una tempesta di neve (e tieni ben presente, non nessuna o una, ma una e soltanto una)
2) Troverei la lista delle persone che nel 2008 hanno visitato quelle località.
Quindi direi che il tuo modo di procedere è esatto, ma devi specificare meglio la query più interna, quella che risponde al requisito 1 per intenderci.
Hai ragione, piccola dimenticanza!
Select P.codicep from persona P, visita V, localita L
where p.codicep=v.codicep and v.codicel=L.codicel and v.anno=2008 and L.tipologia='mare' and L.Città='Siracusa' and L.codicel IN
(select L1.codicel
from localita L1, Verifica VR1, Maltempo M1
where L1.codicel =VR1.codicel and VR1.codiceM=M1.codicem and M1.NOmeM="tempesta di neve" and L1.Città='Siracusa' and L1.Tipologia='mare'
)
Per come ho scritto io si intende almeno una. Per dire solo una devo aggiungere questo nella query esterna?:
GROUP BY VR1.CodiceM
HAVING COUNT(VR1.CodiceM)=1
ciccio er meglio
15-06-2008, 12:11
Adesso che ci penso, la query è piuttosto difficile. Forse ti conviene creare una vista, che ti dia il codice località ed il numero di tempeste di neve. Hai studiato le viste?
Si ma non le posso usare!
ciccio er meglio
15-06-2008, 15:23
Forse è piu semplice cosi:
SELECT P1.codicep
FROM persona P1, Visita V1, Località L1, Verifica VR1, Maltempo M1
WHERE _COLLEGAMENTI TRA TABELLE_ AND V1.anno=2008 AND L1.Tipologia='mare' AND L1.Provincia='Siracusa' AND M1.NomeM='tempesta di neve'
GROUP BY L1.CodiceL
HAVING COUNT(M1.codiceM)=1
ciccio er meglio
16-06-2008, 11:45
caspita, solo io capisco qualcosa di sql in questo forum?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.