Mettere in una riga i record di una colonna

peppeocchi

Utente Attivo
20 Apr 2013
30
0
0
Salve,

dal titolo si capisce poco, faccio un esempio che si capisce meglio.

facedo una query di questo tipo
Codice:
select id, nome, cognome, città, reddito, id_aggiornamento from tabella where id = 500
mi viene fuori una tabella di questo tipo
idnomecognomecittàredditoid_aggiornamento
500FrancoBolloMilano5009
500FrancoBolloMilano4808
500FrancoBolloMilano5507
500FrancoBolloMilano4906

Se invece volessi come ouput una tabella come questa?

idnomecognomecittàreddito_agg1reddito_agg2reddito_agg3reddito_agg4
500FrancoBolloMilano500480550490

Premetto che questa è una subquery di una query mooolto pesante, ora come ora l'ho staccata dalla query principale.
La query principale mi da come risultato gli utenti con un determinato reddito compreso tra dei valori definiti dall'utente, il tempo di esecuzione è 0,8 secondi.
Il problema è che quando faccio il fetch dei risultati, per ogni utente mi esegue la query che ho postato all'inizio, quindi se ho 200 risultati fa questa query 200 volte, portando il tempo di esecuzione totale oltre i 15 secondi!
Quindi quello che vorrei fare è inglobarla come subquery della query principale, in modo da fare la join con le altre subquery. Mi spiego meglio con un po' di codice.
Questa è la query principale
Codice:
SELECT t1.*, t3.somma 
FROM ( qui prendo tutte le città che mi interessano ) AS t1, 
( qui prendo tutti gli id utente che stanno nelle città che mi interessano ) AS t2, 
( questa è la più pesante, calcolo la somma di tutti i tipi di reddito di un utente anche in città diverse da quelle che mi interessano e ne controlla la variazione più applica eventuali filtri ) AS t3 
WHERE t1.idUser = t2.idUser AND t2.idUser = t3.idUser
Questa mi da in output esattamente i risultati che mi interessano, ma quando devo andare a stampare a video, devo dare un feedback della variazione di reddito per un utente nelle diverse città, per questo faccio poi la prima query (che in base ai risultati può essere ripetuta fino a 200-300 volte) che rallenta tutto.

E' bene accetta qualunque idea :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Mettere in sicurezza una comunicazione .NET Framework 0
G [Photoshop] Mettere una scritta in prospettiva. Photoshop 7
Shyson Mettere più valori in una variabile PHP 1
E Mettere come Selected l'opzione di un select option, tramite il dato di una query. Javascript 2
D Come mettere una webcam con reload nel sito html HTML e CSS 3
A Mettere una discussione in rilievo Supporto Mr.Webmaster 2
L creare o modificare una .GIF da mettere su una pagina HtmL HTML e CSS 5
F Non Riesco A Mettere Una Scritta/logo A Destra Nella Mia Homepage!!!!!:-( HTML e CSS 1
K Mettere insieme due funzioni Javascript 2
Shyson Mettere categorie nelle anteprime degli articoli PHP 1
G Mettere il footer in basso HTML e CSS 0
G mettere account posta in Microsoft outlook 2016 di gmail Posta Elettronica 0
B Mettere sito offline senza troppe penalizzazioni SEO e Posizionamento 0
G [HTML] mettere link in facebook link invece che su sito web Social Media Marketing 1
G [Guida MyBB 1.8] Mettere in colonna SubForum CMS (Content Management System) 0
Shyson [PHP] Mettere parentesi graffe o no? PHP 2
Shyson [PHP] Mettere placeholder PHP 2
Shyson [HTML] Mettere select responsive HTML e CSS 3
giannit [HTML] Mettere div al posto di iframe e possibile? HTML e CSS 9
D cambio il dominio per mettere keyword dentro? SEO e Posizionamento 8
G [HTML] mettere menu style smartphone anche sui tablet HTML e CSS 0
Shyson [PHP] Mettere il link "Leggi tutto" PHP 0
L mettere un simbolo per capire se è un sottomenu jQuery 2
Shyson [WordPress] Mettere un limite a lunghezza caratteri WordPress 11
Shyson [WordPress] Mettere classe css WordPress 0
Shyson Mettere span davanti a php PHP 9
F [VENDO] Inviti a mettere mi piace alla vostra pagina facebook! Annunci servizi di Social Media Marketing 10
Shyson Mettere contaviste ai miei articoli PHP 1
A Come mettere il target _blank in un parser xml in php? PHP 1
A Come mettere al sicuro un Cloud Server? Cloud Computing e Cloud Server 1
Shyson Mettere spazio a codice PHP 3
A Miglior hosting per mettere su internet un sito HTML? Hosting 3
A posso mettere i miei contenuti di un sito usa in un sito in australia SEO e Posizionamento 2
P mettere al centro i bottoni HTML e CSS 10
V Quando mettere il JOIN e quando no? MySQL 1
I Vendo 32.000 Inviti a mettere mi piace alle pagine/Invito Eventi Annunci servizi di Social Media Marketing 0
R Mettere la possibilità di Salvare in un gioco =) Come si fa? Java 2
C è illegale mettere sul proprio portfolio online i siti fatti sotto contratto? Discussioni Varie 5
max_400 Hosting gratuito dove mettere giochi in flash Hosting 2
M Mettere un'immagine come header HTML e CSS 1
Shyson Mettere css jQuery 1
A consiglio su come mettere in evidenza un contenuto Webdesign e Grafica 0
Shyson Mettere target="_top" PHP 0
Mauro Guardiani chi sa dove mettere questo codice Tubular jQuery plugin Javascript 1
Shyson Mettere "I più visti" nel sito Snippet PHP 0
Shyson Mettere script nel Database PHP 0
Shyson Mettere nel sito "I più visti" PHP 9
S Come mettere Menu a tendina in un modello CSS? HTML e CSS 0
F mettere online foto di persone, si può? Leggi, Normative e Fisco 2
Shyson Mettere alt e title in immagine nel css HTML e CSS 2

Discussioni simili