2013-10-10 11 views
5

Sto utilizzando SQL Server 2012 per il mio database. Ora, ho una tabella con i seguenti dettagli.Visualizza due valori di colonna come due righe in SQL

ID    COLUMN1    COLUMN2 
1     A     B 

Ora voglio un risultato come questo.

ID     Values 
1      A 
1      B 

Qualcuno può suggerirmi come fare? So che posso fare usando pivot o unpivot. ma non so come fare? e c'è un altro modo per farlo?

Per favore aiutami a scrivere query per lo stesso.

Grazie in anticipo.

risposta

4

È possibile utilizzare UNPIVOT per ottenere il risultato finale:

select id, value 
from yourtable 
unpivot 
(
    value 
    for col in (COLUMN1, COLUMN2) 
) u; 

Vedi SQL Fiddle with Demo

oppure è possibile utilizzare CROSS APPLY per farlo:

select id, value 
from yourtable 
cross apply 
(
    values ('COLUMN1', COLUMN1), ('COLUMN2', COLUMN2) 
) c (col, value) 

Vedi SQL Fiddle with Demo

3
select id, col1 as value 
from your_table 
union all 
select id, col2 as value 
from your_table 
Problemi correlati