【发布时间】:2015-04-23 14:42:18
【问题描述】:
我有以下数据:
TestData
Code | RowNum |
123 | 1 |
456 | 2 |
789 | 3 |
我想要完成的是循环遍历这些数据,检查一个单独的表以查看是否有任何记录是LIKE 这些代码。这是我尝试过的,但最后我返回了0 记录。我相信我可以使用 cte 来完成此任务,但我在理解递归 cte 的基本概念时遇到了一些麻烦。我在这里走错方向了吗?下面是我的查询,它返回 0 记录。
DECLARE @myCounter int = 0;
WHILE (@myCounter < @ROWCOUNT)
BEGIN
DECLARE @Code nvarchar(8) = (SELECT [Code]
FROM [MyTable]
WHERE [RowNum] = @myCounter);
SELECT *
FROM [RefTable]
WHERE [Code] LIKE '%' + @Code + '%';
END
【问题讨论】:
标签: sql tsql recursion while-loop common-table-expression