2017-06-14 77 views
1

假設我有一個包含以下信息的表:合併兩行SQL只有一個列是不同

FK | Field1 | Field2 
---+--------+-------- 
4 | 103 | 5836 
4 | 103 | 5835 

FK | Field1 | Field2 | Field2A 
---+--------+--------+-------- 
4 | 103 | 5836 | 5835 

感謝

+0

我認爲沒有一個標準的方法來做到這一點。這將取決於您正在工作的數據庫。 – Abend

+0

和field2可以達到field2Z?你可能想看一下PIVOT – maSTAShuFu

+0

的任何示例嗎? – Sam

回答

0

我覺得你真的需要支點,但在一個確切的數據集問題,你可以按照下面的方法,它有點奇怪,在T-SQl:

declare @a as int 
declare @b as int 
declare @c as int 
declare @query Varchar(Max) 

set @query = 'Select 4,103' 
DECLARE curs CURSOR FOR 
select * From 
(select 4 as a , 103 as b , 5836 as c 
Union select 4 as a , 103 as b , 5835 as c) as res 

OPEN curs 

FETCH NEXT FROM curs 
INTO @a,@b,@c 
WHILE @@FETCH_STATUS = 0 
BEGIN 
set @query = @query + ','+cast(@c as varchar) 

FETCH NEXT FROM curs 
INTO @a,@b,@c 

END 
CLOSE curs; 
DEALLOCATE curs; 
EXEC(@query) 
相關問題