![]() |
Pages (8): « First ... « 3 4 5 6 [7] 8 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ comunicazione digitale (http://www.dsy.it/forum/forumdisplay.php?forumid=108)
-- esami perlasca 06/07 (http://www.dsy.it/forum/showthread.php?threadid=33477)
Originally posted by ARIEL
Ah cavolo mi sa che avevo sbagliato a scrivere la sottoquery....così forse potrebbe andare...
SELECT i.Matr
FROM Progetti p, Impiegati i, Assegnamento a
WHERE i.Matr=a.Matr AND p.CodP=a.CodP AND budget>='50000' AND p.Nome='Microsoft'
GROUP BY Matr
HAVING COUNT (CodP)=(SELECT COUNT (CodP) FROM Progetti
WHERE Nome='Microsoft');
SELECT DISTINCT impiegati.nome, impiegati.matr, progetti.budget
FROM impiegati, assegnamento, progetti
WHERE impiegati.matr = assegnamento.matr AND progetti.nome = 'microsoft' AND progetti.budget >= 500000
GROUP BY progetti.budget, impiegati.nome, impiegati.matr
HAVING count(impiegati.matr) = ( SELECT count(assegnamento.matr) AS count
FROM assegnamento, progetti
WHERE assegnamento.cod_progetto = progetti.cod_progetti AND progetti.nome = 'microsoft' AND progetti.budget >= 500000)
cosi' sono certa che va,mi sono creata apposta il db per provare le varie query^^
![]()
![]()
è talmente contorta che non riesco nemmeno a capirla! Sarà anche che sono fusa, è da stamattina che sto facendo query! ![]()
cmq come avete fatto la query:
Determinare gli impiegati che non sono stati assegnati ad alcun progetto?
@Lijay: se per caso hai tempo puoi provare anche la query:
SELECT i.Matr
FROM Progetti p, Impiegati i, Assegnamento a
WHERE i.Matr=a.Matr AND p.CodP=a.CodP AND budget>='50000' AND p.Nome='Microsoft'
GROUP BY Matr
HAVING COUNT (CodP)=(SELECT COUNT (CodP) FROM Progetti
WHERE Nome='Microsoft');
Tanto per avere la certezza che funziona! Grazie
ma a che ora è domani l'esame e dove si trova???
L'esame di Gestione dell'Informazione si terrà il 22 Febbraio alle ore 14.00 in aula Beta, via Comelico
Originally posted by ARIEL
cmq come avete fatto la query:
Determinare gli impiegati che non sono stati assegnati ad alcun progetto?
@Lijay: se per caso hai tempo puoi provare anche la query:
SELECT i.Matr
FROM Progetti p, Impiegati i, Assegnamento a
WHERE i.Matr=a.Matr AND p.CodP=a.CodP AND budget>='50000' AND p.Nome='Microsoft'
GROUP BY Matr
HAVING COUNT (CodP)=(SELECT COUNT (CodP) FROM Progetti
WHERE Nome='Microsoft');
Tanto per avere la certezza che funziona! Grazie
cmq come avete fatto la query:
Determinare gli impiegati che non sono stati assegnati ad alcun progetto?
io l'ho fatta così
SELECT i.nome
FROM Impiegati i
WHERE i.Matr NOT IN (SELECT i.Matr FROM Impiegati i, Progetti p, Assegnamento a WHERE i.matr=a.matr and p.codP=a.codP)
il concetto che ho cercato di scrivere è cerco gli impiegati che sono stati assegnati a qualche progetto se la matr nn è in qst elenco allora vuol dire che quell'impiegato nn è stato assegnato a nessun progetto
Originally posted by carlinus
cmq come avete fatto la query:
Determinare gli impiegati che non sono stati assegnati ad alcun progetto?
io l'ho fatta così
SELECT i.nome
FROM Impiegati i
WHERE i.Matr NOT IN (SELECT i.Matr FROM Impiegati i, Progetti p, Assegnamento a WHERE i.matr=a.matr and p.codP=a.codP)
il concetto che ho cercato di scrivere è cerco gli impiegati che sono stati assegnati a qualche progetto se la matr nn è in qst elenco allora vuol dire che quell'impiegato nn è stato assegnato a nessun progetto
nn saprei alla fine l'interragazione è uguale alla sottointerrogazione
Originally posted by tolarian
Cosa ne dite di questa?
SELECT i.matr
FROM impiegati i, progetti p, assegnamento a
WHERE i.matr=a.matr AND a.codP=p.codP AND not exists (SELECT a.matr FROM impiegati i, progetti p, assegnamento a WHERE i.matr=a.matr AND a.codP=p.codP)
GROUP BY i.matr
Quella di carlinus mi sembra corretta.
Richiedo l'elenco di coloro che hanno partecipato a un progetto e poi gli dico che quello che cerco non è in quell'insieme.
sono fuso ormai
cmq in una NOT IN posso mettere una colonna di una select??
dato che di solito è NOT IN (10,20,30) dove 10,20,30 sono i valori che voglio far escludere...
grazie
Si è possibile infatti nelle slide c'è un esempio:
Elencare i titoli dei film di Quentin Tarantino usciti in un anno in cui non sono usciti film di Tim Burton
la soluzione del prof:
SELECT titolo
FROM Film
WHERE regista='Quentin tarantino' AND anno NOT IN (SELECT anno FROM Film WHERE regista='Tim Burton');
anche perche la select mi pare ti vada a scegliere dei valori secondo le condizioni che metti!
Originally posted by ARIEL
Si è possibile infatti nelle slide c'è un esempio:
Elencare i titoli dei film di Quentin Tarantino usciti in un anno in cui non sono usciti film di Tim Burton
la soluzione del prof:
SELECT titolo
FROM Film
WHERE regista='Quentin tarantino' AND anno NOT IN (SELECT anno FROM Film WHERE regista='Tim Burton');
anche perche la select mi pare ti vada a scegliere dei valori secondo le condizioni che metti!
| All times are GMT. The time now is 10:03. | Pages (8): « First ... « 3 4 5 6 [7] 8 » Show all 119 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.