SQL: come aggregare risultati diversi in un’unica riga di risultati

30 giugno 2009 - Fonte: http://www.dicesare.com Lascia il tuo commento »
E' la tua prima volta qui? Allora iscriviti GRATIS ai nostri feeds! 

Come aggregare risultati diversi in un’unica riga (record) di risultati

Un amico ha sollevato questo problema: come conoscere con un’unica query quante foto ha inserito un dato utente nella tabella foto e quanti blog ha inserito lo stesso utente nella tabella blogs.

Dato che il database in uso era Access, non si potevano usare Stored Procedures, quindi il tutto andava fatto con un’unica query.

Procediamo quindi per passi successivi.

1. Per prima cosa vediamo come leggere quante foto sono state inserite (il nostro utente immaginario si chiamerà…. “Pippo”, come sempre)

SELECT COUNT(*) FROM gallerieFoto WHERE fAutore="Pippo"

il risultato della query sarà (ad esempio):
5

2. Adesso procediamo con la lettura di quanti messaggi sono stati inseriti nel blog

SELECT COUNT(*) FROM blogs WHERE bAutore="Pippo"

il risultato della query sarà (ad esempio):
3

3. Ora uniamo le due query con una UNION, visto che il formato di uscita è identico

SELECT COUNT(*) FROM gallerieFoto WHERE fAutore="Pippo"
UNION
SELECT...

Leggi il seguito »






SEGNALA / INVIA QUESTO POST:  Share
Hai trovato questo articolo interessante? Iscriviti GRATIS ai nostri feeds! 

Lascia un Commento