Ho la tabella A, sotto, dove per ogni ID univoco, ci sono tre codici con un certo valore.Come posso ruotare una tabella in DB2?
ID Code Value
---------------------
11 1 x
11 2 y
11 3 z
12 1 p
12 2 q
12 3 r
13 1 l
13 2 m
13 3 n
Ho una seconda tabella B con il formato come sotto:
Id Code1_Val Code2_Val Code3_Val
Qui c'è solo una riga per ogni ID univoco. Voglio popolare questa seconda tabella B dalla prima tabella A per ogni ID dalla prima tabella.
Per la prima tabella A di cui sopra, la seconda tabella B dovrebbe uscire come:
Id Code1_Val Code2_Val Code3_Val
---------------------------------------------
11 x y z
12 p q r
13 l m n
Come posso raggiungere questo obiettivo in una singola query SQL?
c'è un modo per farlo dinamicamente se la tabella A ottiene un nuovo codice o due? – John
Non facilmente, e avresti anche bisogno di SQL dinamico. Sono abbastanza sicuro che ci siano degli esempi altrove qui - in sostanza, devi leggere le tabelle dello schema 'information system', assemblare la query in questo modo, quindi eseguirla. Dato che gli inserimenti generali a 'A' dovrebbero essere piuttosto rari, sarebbe probabilmente più semplice aggiornare semplicemente le istruzioni e il codice cliente ... Altrimenti, stai rasentando il territorio dell'EAV, che è (in qualche modo) correlato ma un po 'diverso . –
[C'è una risposta migliore che accede alla tabella solo una volta] (https://stackoverflow.com/a/23207503/521799) –