Sto cercando di estrarre i dati da una tabella per un sondaggio in un formato particolare. Comunque tutti i miei tentativi sembrano passare il DB a causa di troppi join/troppo pesanti sul DB.Trasposizione di un risultato sql in modo che una colonna vada su più colonne
miei dati simile a questa:
id, user, question_id, answer_id,
1, 1, 1, 1
3, 1, 3, 15
4, 2, 1, 2
5, 2, 2, 12
6, 2, 3, 20
ci sono circa 250.000 righe e ogni utente ha circa 30 righe. Voglio che il risultato a guardare come:
user0, q1, q2, q3
1, 1, NULL, 15
2, 2, 12, 20
In modo che ogni utente ha una riga nel risultato, ciascuno con una colonna separata per ogni risposta.
Sto utilizzando Postgres ma le risposte in qualsiasi linguaggio SQL potrebbero essere apprezzate poiché potrei tradurre in Postgres.
EDIT: ho anche bisogno di essere in grado di trattare con gli utenti non rispondere alle domande, cioè nell'esempio di cui sopra q2 per l'utente 1.
Ricerca una parola incrociato qui ad esempio http: //stackoverflow.com/questions/3002499/postgresql-crosstab-query –