![]() |
Pages (11): « 1 2 3 [4] 5 6 7 8 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- [CASTANO] Primo Compitino 05/06 (http://www.dsy.it/forum/showthread.php?threadid=22387)
DISPOSITIVO-HW(Codice,Marca,Tipo)
MANUTENZIONE(Codice,Data,TipoGuasto,Costo,Addetto)
Si richiede di formulare in SQL quanto segue:
• trovare tutti i dati del dispositivo che ha subito la manutenzione meno costosa.
credo...
select disp.codice,disp.marca,disp.tipo
from man,disp
where disp.codice=man.codice and costo <= all (select costo
from manutenzione)
group by disp.codice,disp.marca,disp.tipo
__________________
Scompaio e di me solo fievoli ricordi affolleranno la mente delle genti conosciute,sarò fantasma e vagherò nelle terre di nessuno, finché l ultimo ricordo morrà insieme con il mio spirito...
Se non si è disposti a rivivere la propria vita, perché darsi la pena di viverla adesso ?
Youtube.it
Che dire...in bocca al lupo...
a todos ![]()
crepi 
__________________
Scompaio e di me solo fievoli ricordi affolleranno la mente delle genti conosciute,sarò fantasma e vagherò nelle terre di nessuno, finché l ultimo ricordo morrà insieme con il mio spirito...
Se non si è disposti a rivivere la propria vita, perché darsi la pena di viverla adesso ?
Youtube.it
io l'ho fatta così:
SELECT disp.codice, disp.marca, disp.tipo
FROM manutenzione NATURAL JOIN dispositivo hw ON CF
GROUP BY Codice, marca tipo
HAVING COUNT <=ALL SELECT costo
FROM MANUTENZIONE
Praticamente cambia che ho messo having e il join nella from, dici che va bene?
ola logan guarda il messaggio privato che ti ho mandato.....
Originally posted by de_luna
io l'ho fatta così:
SELECT disp.codice, disp.marca, disp.tipo
FROM manutenzione NATURAL JOIN dispositivo hw ON CF [forse intendevi codice]
GROUP BY Codice, marca tipo
HAVING COUNT <=ALL SELECT costo
FROM MANUTENZIONE
Praticamente cambia che ho messo having e il join nella from, dici che va bene?

__________________
Scompaio e di me solo fievoli ricordi affolleranno la mente delle genti conosciute,sarò fantasma e vagherò nelle terre di nessuno, finché l ultimo ricordo morrà insieme con il mio spirito...
Se non si è disposti a rivivere la propria vita, perché darsi la pena di viverla adesso ?
Youtube.it
si, nella fretta di copiare... comunque grazie mille, speriamo che vada bene!
A dopo
Io l'ho fatta cosi' :
select * from dispositivo_hw where codice in (
select codice from manutenzione where costo in(
select min(costo) from manutenzione))
Originally posted by de_luna
HAVING COUNT <=ALL SELECT costo
FROM MANUTENZIONE
Praticamente cambia che ho messo having e il join nella from, dici che va bene?

__________________
There are two ways of constructing a software design:
one way is to make it so simple that there are obviously no deficiencies;
the other way is to make it so complicated that there are no obvious deficiencies.
(C.A.R. Hoare)
SUl count ti do pienamente ragione, si può mettere HAVING costo <=........
???
e tolto il count si può togliere anche group by...
ma così mi sembra troppo facile...
l'usare i MIN e MAX nelle select interne Ferrara ieri ha detto che li sconsiglia, però si potrebbe usare con la select senza fare quella interna..
SELECT codice, marca, tipo, MIN (costo)
FROM Manutenzione NATURAL JOIN dispositivo HW ON codice
Non potrebbe andare?
Non sei l'unico ad avere i dubbi..
Originally posted by de_luna
SUl count ti do pienamente ragione, si può mettere HAVING costo <=........
???
e tolto il count si può togliere anche group by...
ma così mi sembra troppo facile...
l'usare i MIN e MAX nelle select interne Ferrara ieri ha detto che li sconsiglia, però si potrebbe usare con la select senza fare quella interna..
SELECT codice, marca, tipo, MIN (costo)
FROM Manutenzione NATURAL JOIN dispositivo HW ON codice
__________________
There are two ways of constructing a software design:
one way is to make it so simple that there are obviously no deficiencies;
the other way is to make it so complicated that there are no obvious deficiencies.
(C.A.R. Hoare)
Crepiiii
;-)
scrivere cosi'
select * from dispositivo_hw where codice in (
select codice from manutenzione where costo in(
select min(costo) from manutenzione))
equivale a scrivere cosi'...
select disp.codice,disp.marca,disp.tipo
from manutenzione man,dispositivo disp
where disp.codice=man.codice and costo <= all (select costo
from manutenzione)
group by disp.codice,disp.marca,disp.tipo
Originally posted by puntozip
Non si possono usare attributi e funzioni aggregate nella clausola select senza group by...
Io la vedo così:
il group by lo uso solo per eseguire funzioni su "sottoinsiemi" di record, ad esempio se avessi avuto una categoria di dispositivo e mi interessava il costo totale della categoria che fosse il minimo tra tutte le categorie (allora avrei raggruppato per categoria).
Ma nel caso in esame vogliamo considerare tutti i dispositivi che sono singole tuple e hanno un attributo (costo) che posso direttamente confrontare con il minimo (ricavato dalla select interna), infatti il confronto lo faccio nella where e non nell'having (che riguarda i valori dei gruppi).
Spero di non crearti ulteriore confusione (prendi quel che scrivo con beneficio d'inventario...)
__________________
There are two ways of constructing a software design:
one way is to make it so simple that there are obviously no deficiencies;
the other way is to make it so complicated that there are no obvious deficiencies.
(C.A.R. Hoare)
| All times are GMT. The time now is 02:52. | Pages (11): « 1 2 3 [4] 5 6 7 8 » ... Last » Show all 151 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.