我有一个名为fn_SplitCommaSep的表值函数,该函数用逗号分隔文本字段(从’a,b,c’到3行:abc)
如何以表列作为输入将其连接到表?
为此,假设表MyTable具有2列Id和TextWithCommas,并且该表值函数fn_SplitCommaSep产生了一个称为TextWithoutComma的列
例如。像这些之一
select fs.TextWithoutComma from fn_SplitCommaSep(select mt.TextWithCommas from MyTable) fs
或者
select fs.TextWithoutComma, mt.Id from MyTable mt inner join fn_SplitCommaSep(mt.TextWithCommas) fs on (something)
除了将逗号分隔的值存储在数据库中之外,请查看一下APPLY
所以像这样:
SELECT fs.TextWithoutComma, mt.Id FROM MyTable mt CROSS APPLY fn_SplitCommaSep(mt.TextWithCommas) AS fs