2016-08-16 6 views
2

I Tabelle mit zwei Spalten haben, die beide ganzzahlige Werte enthält, die wie folgt aussieht:Die Kombination von zwei SQL-Spalten in eine Spalte

DocumentUpId RelatedDocId 
31608768  31624333 
31608768  31624334 
31618133  31618117 

Und ich versuche, sie in einer einzigen Spalte zu verschmelzen etwa so:

DocumentUpId  
31608768   
31608768   
31618133  
31624333 
31624334 
31624334 

ich habe dies versucht:

select rel_CTE.DocumentUpId + rel_CTE.DocumentDownId as 'RelatedDocId' 
into #temprelations 
from RelationsCTE rel_CTE 

Aber es gibt mir Werte verketten (na ja Summe in diesem Fall), i so heißt t möglich?

Antwort

9

UNION ALL

select rel_CTE.DocumentUpId as 'RelatedDocId' from RelationsCTE 
union all 
select rel_CTE.DocumentDownId from RelationsCTE 
4

wie diese versuchen,

SELECT DocumentUpId as DocumentUpId 
FROM RelationsCTE 

UNION ALL 

SELECT DocumentDownId as DocumentUpId 
FROM RelationsCTE 
+5

"union" gibt nicht die korrekten Ergebnisse, da doppelte Werte gefiltert werden. – sstan

+1

Sie haben recht Ich habe meinen Beitrag bearbeitet – StackUser

+0

verstehe nicht wirklich die Abstimmung für etwas, das leicht in einem angemessenen Zeitrahmen korrigiert werden kann, was ist der Punkt? habe eine +1 von mir – Tanner

0

irgendeine Sache Probieren Sie verschiedene CROSS -Tragen mit :).

SELECT [RelatedDocId] 
FROM RelationsCTE 
    CROSS APPLY (VALUES(DocumentUpId), 
        (DocumentDownId)) V([RelatedDocId]) 
Verwandte Themen