MySQL può convertire colonne in righe, aggiungendo dinamicamente tutte le colonne necessarie per le righe. Penso che la mia domanda potrebbe essere correlata a tabelle pivot ma non sono sicuro e non so come inquadrare questa domanda se non dando il seguente esempio.Query Mysql per convertire dinamicamente le righe in colonne
Dato a due tabelle A e B, che assomigliano
Tabella A
+--+-----+----+
|id|order|data|
+--+-----+----+
|1 |1 |P |
+--+-----+----+
|2 |2 |Q |
+--+-----+----+
|2 |1 |R |
+--+-----+----+
|1 |2 |S |
+--+-----+----+
mi piace scrivere una query che è simile al seguente:
Tabella Risultato
+--+-----+-----+
|id|data1|data2|
+--+-----+-----+
|1 |P |S |
+--+-----+-----+
|2 |R |Q |
+--+-----+-----+
Fondamentalmente voglio trasformare ogni riga nella tabella B in una colonna nella tabella dei risultati. Se è stata aggiunta una nuova voce alla tabella B per id = 1, desidero che la tabella dei risultati si estenda automaticamente di una colonna per contenere questo punto dati aggiuntivo.
Fantastico, il secondo esempio è esattamente quello che ho chiesto. Sfortunatamente per me c'è un sacco di nuove sintassi SQL per capirci. – Dom
quello con il prefisso '@' è chiamato variabili utente. e qui, http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html, per l'apprendimento di 'PreparedStatements'. –
La soluzione sopra descritta funziona bene ma il mio scenario è che invece di applicare pivot su una colonna sulla base di un'altra ho anche altre colonne su cui voglio applicare il pivot sulla base di un'altra colonna. È come se applicassi due perni separati su due colonne di un tavolo e unendovi risultato. Qualsiasi aiuto – Moon