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 »
- Articolo precedente: sidux 2009-02 Preview 1
- Articolo successivo: Quindi le impressioni (non molto positive) su Microsoft Bing non erano errate…
SEGNALA / INVIA QUESTO POST:
Hai trovato questo articolo interessante? Iscriviti GRATIS ai nostri feeds!




