易截截图软件、单文件、免安装、纯绿色、仅160KB

关于SQL的XML的问题!

SQL code:
DECLARE @s VARCHAR(100)
SET @s='a,b,c,dd,ee,f,aa,a,aa,f'
SELECT b.v from
(SELECT CAST('<r>' + REPLACE(@s,',','</r><r>') + '</r>' AS XML) x) a
CROSS APPLY
(SELECT v=t.x.value('.','VARCHAR(10)') from a.x.nodes('//r') AS t(x) ) b


这个的fcuandy发表的其中一段代码,其中的后面我有点不明白,后面最后的a,b是什么意思,还有SELECT b.v from种的b.v又是什么意思?
'a,b,c,dd,ee,f,aa,a,aa,f'

这个字符串.使用CAST(' <r>' + REPLACE(@s,',',' </r> <r>') + ' </r>' AS XML)
得到
<r>a </r>
<r>b </r>
<r>c </r>
<r>dd </r>
....

然后cross apply(SELECT v=t.x.value('.','VARCHAR(10)') from a.x.nodes('//r') AS t(x) ) b

xml类型的nodes方法将产生行集.
然后得到

a
b
c
dd
ee
...
...

的结果.

a,b是表的别名.

b.v 是b表列v

恩,结果我是知道,就是不知道后面的那个a,b是什么意思
还有SELECT b.v from和v=t.x.value分别做何解释!



老大的书上面讲得比较详细 可以去看看
深入浅出 SQL 2005开发,管理与应用实例

引用
老大的书上面讲得比较详细 可以去看看


相关问答:

sql性能求助 - MS-SQL Server / 疑难问题

场景如下:
客户把备份好的数据库,发给我,我在本机还原后,运行写好的存储过程,比较快,并且在实施那边运行同样比较快。但是当实施在客户那边运行的时候速度就非常的慢,时间超出了程序的时间限制。远程在客户那 ......

求一条SQL - MS-SQL Server / 疑难问题

--drop table #T1
--drop table #T2
create Table #T1(ID int,
QueryID nvarchar(20),
ResultID1 nvarchar(20),
ResultID2 nvarchar(20))
create Table #T2(SortNo int,
QueryID nvarchar(20),
ResultID1 nv ......

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

如何用ASP读取 XML - Web 开发 / ASP

<?xml version="1.0"?>
<root>
<status>433</status>
<msg>这个是汉字</msg>
<serialno>123</serialno>
</root>
如何用ASP读取 status值 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号