if OBJECT_ID('t') is not null drop table tcreate table t
(
id int,
content xml
)insert into t
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
</Root>'
union
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
<Columns100000005 title="公司名称">未知</Columns100000005>
<Columns100000006 title="公司地址">未知</Columns100000006>
<Columns100000007 title="公司领导">未知</Columns100000007>
</Root>'
union
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
<Columns100000005 title="入职年份">未知</Columns100000005>
<Columns100000006 title="关注行业">未知</Columns100000006>
</Root>'select * from t
/*
简介:此表中包含多条记录,要求查询出所有的title值。要求输出结果为:
title
姓名
客户姓名
主要联系方式
备用联系方式
民族
教育程度
公司名称
公司地址
公司领导
入职年份
关注行业
*/
(
id int,
content xml
)insert into t
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
</Root>'
union
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
<Columns100000005 title="公司名称">未知</Columns100000005>
<Columns100000006 title="公司地址">未知</Columns100000006>
<Columns100000007 title="公司领导">未知</Columns100000007>
</Root>'
union
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
<Columns100000005 title="入职年份">未知</Columns100000005>
<Columns100000006 title="关注行业">未知</Columns100000006>
</Root>'select * from t
/*
简介:此表中包含多条记录,要求查询出所有的title值。要求输出结果为:
title
姓名
客户姓名
主要联系方式
备用联系方式
民族
教育程度
公司名称
公司地址
公司领导
入职年份
关注行业
*/
解决方案 »
- sql server 2008 用维护计划 备份数据库 备份文件不能被覆盖
- 一个sql面试题
- sql server数据库查询时间问题
- 用什么办法可以检测ado连接对象与当前sql server2000的连接状态的真实情况呢?
- 邹健请进:我在企业管理器里修改表数据时,提示::不能在firehose 方式下启动事务
- 统计问题 SQL语句
- 按中文首个拼音字母排序的sql语句如何写??
- 急~~~,在线等,怎么将一个列中的数据拆出多列,再将多列数据和另外一张表合并?怎么实现问题的第一个功能?急~~~谢谢大家啊~帮帮忙~!
- 急问!!!高分求救,attach数据库到SERVER问题
- 扩展SQL SERVER FUNCTION
- 在存储过程中使用游标的问题
- 想做个柱状图按月统计收入和支出,收入和支出的数据分别放在A,B两个表中,表中的字段有金额和日期
(SELECT id,CONVERT(VARCHAR(MAX), CONTENT.query('data(/Root/*/@title)')) value
FROM t
)SELECT DISTINCT A.id, B.value
FROM(SELECT id, [value] = CONVERT(xml,'<root><v>' + REPLACE([value], ' ', '</v><v>') + '</v></root>') FROM x
)A
OUTER APPLY(
SELECT value = N.v.value('.', 'varchar(100)') FROM A.[value].nodes('/root/v') N(v)
)B
create table t
(id int, content xml)insert into t
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
</Root>'
union
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
<Columns100000005 title="公司名称">未知</Columns100000005>
<Columns100000006 title="公司地址">未知</Columns100000006>
<Columns100000007 title="公司领导">未知</Columns100000007>
</Root>'
union
select 1,'<Root>
<Columns2035 title="姓名">代岳强</Columns2035>
<Columns100000000 title="客户姓名">代岳强</Columns100000000>
<Columns100000001 title="主要联系方式">15652179778</Columns100000001>
<Columns100000002 title="备用联系方式">15652179778</Columns100000002>
<Columns100000003 title="民族">汉族</Columns100000003>
<Columns100000004 title="教育程度">博士后</Columns100000004>
<Columns100000005 title="入职年份">未知</Columns100000005>
<Columns100000006 title="关注行业">未知</Columns100000006>
</Root>'
select distinct o.value('@title','char(16)') 'title'
from t
cross apply content.nodes('/Root/*') x(o)/*
title
----------------
备用联系方式
公司地址
公司领导
公司名称
关注行业
教育程度
客户姓名
民族
入职年份
姓名
主要联系方式 (11 row(s) affected)
*/