Datatable作为SQL Server中另一个数据表的单元格

时间:2011-02-11 09:15:22

标签: sql-server sql-server-2005 sql-server-2008

是否有任何方法可以将数据表作为另一个数据表的特定单元格返回。 即,我有一个3列的数据表。第二列包含单个记录的多个值....如果有任何方法可以通过单个表达到此目的....

提前致谢

1 个答案:

答案 0 :(得分:1)

不能将表作为列。您可以使用XML列来存储结构化信息。也可以查询XML列。

有关xml数据类型的更多信息,请访问http://msdn.microsoft.com/en-us/library/ms190936%28v=sql.90%29.aspx

使用xml可以执行的操作示例。

declare @T table (id int, data xml)

insert into @T values (1, '<root><val1>1</val1><val2>2</val2></root>')
insert into @T values (2, '<root><val1>11</val1><val2>12</val2></root>')

select
  id,
  r.r.value('val1[1]', 'int') as Val1,
  r.r.value('val2[1]', 'int') as Val2
from @T
  cross apply
    data.nodes('root') r(r)

结果

id Val1 Val2
1  1    2
2  11   12