2014-02-07 51 views
0

的每一行可以說我有變量x,它等於:X =「3,4,5,6,7」循環變量由逗號分隔並輸入每個項目表中SQL

然後我有一個表@TmpTable與兩列(respID和響應)

在我的@tmpTable每個行的respID爲空。

我希望每行的ID都是我上面的x變量的值。 (例如,第1行的respID = 1,第2行的respID = 2 ..等等)

enter image description here 如何在SQL中執行此操作?

+0

你使用SQL Server(TSQL)? – Andrew

+0

是sql server 2008 – ifallelsefailthenstackoverflow

回答

1

可以實現如下使用SSMS:

declare @S varchar(20) 
set @S = '1,2,3,4,5' 
declare @tempTable as table (col1 varchar(max), col2 varchar(max)) 

While len(@s) > 0 
begin 
    insert into @tempTable(col1) select left(@S, charindex(',', @S+',')-1) 
    set @S=stuff(@S, 1, charindex(',', @S+','), '') 
end 

select * from @tempTable 
+0

謝謝!有效 – ifallelsefailthenstackoverflow

0

你可以做這樣的事情。

SELECT 
    Responses.value('(/x/@ID)[1]', 'int') AS [ID], 
    Responses 
FROM YourTable 

對不起,您在您的文章中的圖像已經消失,所以我不記得表名或確切的XML。在谷歌搜索「tsql xml xpath」。

+0

我只想從變量x中獲取ID。其值爲'3,4,5,6,7'。我不想從xml中獲取值,因爲它更復雜 – ifallelsefailthenstackoverflow