直接贴代码,下面是例子,假如业务表的结构如下
1行id 需要将对应的 Split字段拆分多行来显示
------创建一个临时表--------存储数据
CREATE TABLE #tab_1
(
id INT,--主ID
name NVARCHAR(20)---拆分出来的每个子ID
)
-------(#B业务表)------循环业务表的所有主ID
DECLARE @i INT=1
DECLARE @q INT=(SELECT MAX(id) FROM #B)
WHILE @i<=@q
BEGIN
-----------循环过程把每个主ID对应的子ID数据,和主ID一起,作为两个字段一起插入临时表
INSERT INTO #tab_1
( id, name )
SELECT
@i,
Value
FROM dbo.plm_liuz_fn_Split1((SELECT Split FROM #b WHERE id=@i),'-')
SET @i=@i+1
END
SELECT * FROM #tab_1
最后的显示结果就为:
根据Split的分隔符拆分成多行