2009-05-15 13 views
2

In SQL Server Wie kann ich 1 Zeile mit varchar Spalten in eine Spalte umwandeln? Ich glaube, ich brauche Pivot zu verwenden, aber ich kann nicht ein Beispiel ohne agregatorsWie kann ich eine Tabelle mit 1 Zeile mit varchar Spalten in eine Spalte transformieren?

Dies ist die Situation, die ich habe finden:

create table #tmp (ac varchar(100), bc varchar(100), cc varchar(100)) 
insert into #tmp (ac,bc,cc) 
Values ('test1','test2','test3') 

insert into #tmp 
Values ('test4','test5','test6') 

SELECT * 
FROM #tmp 
WHERE ac='test1' 

drop table #tmp 

Ich brauche zu transformieren das Ergebnis der Auswahl in einer Spalte, I wird die Ergebnisspalte in einer anderen verschachtelten Abfrage verwenden.

Vielen Dank!

+3

Können Sie einige Beispieldaten und Tabellenstruktur enthalten? Einfach für uns, wenn wir nicht raten müssen. –

Antwort

1

Sie müssen UNPIVOT verwenden, schwenken nicht

create table #tmp (ac varchar(100), bc varchar(100), cc varchar(100)) 

insert into #tmp (ac,bc,cc) 

Values ('test1','test2','test3') 

SELECT 
    * 
FROM 
    #tmp 

SELECT 
    * 
FROM 
    #tmp 
UNPIVOT 
(
    [Column] FOR Data IN (ac, bc, cc) 
) uPIVOT 


drop table #tmp 
Verwandte Themen