如何在查询中使用“字符串到表格拆分”?

时间:2016-11-15 05:12:39

标签: sql-server string function split

使用我的函数进行第一次查询

select * 
from [dbo].fnSplitString('1|16|170','|')

enter image description here

使用要拆分的数据进行第二次查询

select m.CategoryTree as s 
from tblBuyOnlineMaster m

enter image description here

我想加入这两个查询以获取第二个查询中的所有类别,如表格列,如第一个结果

帮助非常有用。

1 个答案:

答案 0 :(得分:4)

假设您的函数fnSplitString是一个表值函数,您可以使用cross apply运算符执行相关的" join":

select * 
from tblBuyOnlineMaster m
cross apply [dbo].fnSplitString(m.CategoryTree, '|') s

请注意cross apply运算符与inner join一致。如果您想要left join语义,请改用outer apply运算符。另请参阅https://technet.microsoft.com/en-us/library/ms175156%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396