单独的主&单个表中的子表 [英] separate main & sub tables from single table

查看:63
本文介绍了单独的主&单个表中的子表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

输入

Name  Ids
------------
a     1,2,3
b     1,2



输出



Output

Name  Ids
------------
a     1
a     2
a     3
b     1
b     2



需要帮助解决此问题
:)



need help to solve this
:)

推荐答案

问题已经解决,希望对同样有此类问题的人有用.
我为此使用了交叉申请.
我已经从下面的站点给出的示例中得到了解决方案
http://weblogs.sqlteam.com/jeffs/archive/2007/10/18/sql-server-cross-apply.aspx [
It had been solved, hope it will useful to them who have same problem like this
I have use Cross Apply for this.
I have got solution from example given in below site
http://weblogs.sqlteam.com/jeffs/archive/2007/10/18/sql-server-cross-apply.aspx[^]
select A.ID, b.Val
from A
cross apply dbo.ParseCSV(A.CSV) b


就我而言,查询就像这样


in my case query is like this

select name,b.id as ids
from mytbl as a
cross apply dbo.fn_splitter(a.ids) as b


dbo.fn_splitter 是我用来按逗号分隔ids列的值的功能
祝您编码愉快!
:)


dbo.fn_splitter is function i use to split values of ids column by comma
Happy Coding!
:)


嗨..

试试这个代码块

Hi ..

Try this code block

 WITH Namescte AS (
 SELECT Name, CAST('<i>' + REPLACE([Ids], ',', '</i><i>') +  
'</i>' AS XML) AS ids
 FROM YourTable
)
SELECT 
   Name, x.i.value('.', 'VARCHAR(10)') AS ids
FROM Namescte
CROSS APPLY ids.nodes('//i') x(i)



谢谢



Thank you


这篇关于单独的主&amp;单个表中的子表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆