小编典典

SQL连接具有表的表值函数,其中表字段是函数输入

sql

我有一个名为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)

阅读 172

收藏
2021-03-23

共1个答案

小编典典

除了将逗号分隔的值存储在数据库中之外,请查看一下APPLY

所以像这样:

SELECT fs.TextWithoutComma, mt.Id 
FROM   MyTable mt 
    CROSS APPLY fn_SplitCommaSep(mt.TextWithCommas) AS fs
2021-03-23