1

我创建了一张桌子#cinema

c_name c_count
   a      1
   b      2
   c      3
   d      4

和一张桌子#display

name id

如何通过循环将 c_name 添加到表#display 作为列,例如:

name id a b c d

这是我的代码

select @ccount = COUNT(c_count) from #cinema

set @count = 0
while @count < @ccount
begin
    select @cname = c_name from #cinema
    set @txt = 'alter table #display add ' + @cname + ' money default 0 with values'
    exec(@txt)
    set @count = @count+1
end

请帮帮我。谢谢

4

1 回答 1

0

尝试这个

DECLARE @dsql nvarchar(max) = N''  
SELECT @dsql += 
  'ALTER TABLE #display ADD ' + QUOTENAME(c_name) 
+ ' money DEFAULT 0 WITH VALUES ' + CHAR(13) + CHAR(10)
FROM #cinema
--PRINT @dsql
EXEC sp_executesql @dsql

SQLFiddle上的演示

于 2013-05-30T09:43:19.427 回答