Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Query di Query
sabato 24 gennaio 2004 - 14.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Trinità
Profilo
| Junior Member
62
messaggi | Data Invio:
sab 24 gen 2004 - 14:26
Un problema specifico di SQL utilizzando SQL Server 2000.
E' possibile fare una query di query, magari utilizzando una stored procedure ?
mi spiego meglio
ho una prima query (per la verità + complessa di quella che scrivo adesso...)
SELECT sum(valore1-valore2) as val, id, altro dato
FROM ...
WHERE ...
UNION
SELECT sum(valore1- param_stored1) as val, id, altro dato
FROM ...
WHERE ...
UNION
SELECT sum(param_stored2- valore1) as val, id, altro dato
FROM ...
WHERE ...
utilizzando parametri per la mia stored (param_stored2 e param_stored1) e utilizzando diversi condizioni di where ottengo da tutta la query sopra ad esempio un risultato come quesTo
id val
1 15
2 13
3 25
8 10
9 10
9 12
9 33
10 14
a questo punto dato il risultato a mè servirebbe su questo eseguirvi ancora una query( sum (val), id group by id ) così da ottenere
id val
1 15
2 13
3 25
8 10
9 55
10 14
si può fare ?
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
dom 25 gen 2004 - 20:44
ciao,
puoi farlo tranquillamente mettendo tutte le query di union in una parentesi e prima della parentesi metti una query tipo:
select sum(miovalore) from
(
select sum(miovalore) from tabella1 union all
select sum(miovalore) from tabella2
)
etc...
capito come? si chiamano subquery e funzionano molto bene (controlla con sql che magari vuole che il contenuto della sottoquery finisca con un "as nometabellainventatodame"...).
io di stored procedure non sono un esperto ma penso sia facile da implementare qualcosa del genere...
Trinità
Profilo
| Junior Member
62
messaggi | Data Invio:
lun 26 gen 2004 - 16:07
corretto ! ho fatto come dici e funziona
SELECT SUM(assenze) AS assenze, id_ospi FROM (
mia query
) AS pippo
GROUP BY id_ospi
grazie !
iarrub
Profilo
| Newbie
16
messaggi | Data Invio:
lun 19 lug 2004 - 17:18
Scusate se mi intrometto...io non sono molto esperto..maho capito che il mio problema è molto simile
se ho un database con situazioni aziendali ordinate per data, come faccio a dire alla query prendimi solo l'ultima situazione dell'azienda?
mi spiego meglio:
es:
azienda XXXX n° dipendenti
al 30/01/04 n° 57
al 25/03/04 n° 60
al 12/07/04 n° 80
come faccio a filtrare la mia query dicendogli prendimi di questa ditta la situazione più recente presente in archivio?
potete rispondermi con procedure non complicatissime?
vi ringrazio Luciano
Trinità
Profilo
| Junior Member
62
messaggi | Data Invio:
lun 19 lug 2004 - 20:00
non capivo se ero sulla discussione vecchia o cosa... ti ho risposto "dall'altra parte"
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !