我有一个数据表,我需要根据特定的字段值划分为多个表。
例如:
select name, date, state, country into dbo.[dynamicTable] from myDB
其中[dynamicTable]
基于我的查询中的国家/地区值。
所以我在运行查询后会将dbo.Spain
,dbo.Australia
等作为表格。
这是可能的,还是我必须以手动方式进行。
手动方式
select
name,
date,
state
into dbo.Spain
from myDB
where country = 'Spain'
然后对所有不同的国家,即澳大利亚,中国重复这一过程
答案 0 :(得分:2)
您可以将动态SQL用于此类工作:
declare @sql nvarchar(max) = N''
select @sql = @sql + N'select name, date, state into dbo.'
+ quotename(country)
+ N' from myDB where Country='''
+ country + N'''; '
from myDB
exec sp_executesql @sql