Hey ich versuche, fehlende Werte aus meiner Tabelle zu bekommen, aber ich habe keine Ahnung, wie ich es ohne CTE und Rekursion bekommen kann. Unten ist mein aktueller Code, aber es funktioniert mit Rekursion wie ich schon sagte.So finden Sie fehlende Werte in der Tabelle
DROP TABLE #temp;
CREATE TABLE #temp (
val INT NULL
);
DECLARE @val AS INT = 1;
WHILE @val <= 10
BEGIN
INSERT #temp (val)
SELECT cast((RAND()*10) as int);
SET @val = @val + 1;
END
SELECT *
FROM #temp;
WITH CTE AS
(
SELECT nMin = MIN(t.val), MAX(t.val) as 'nMax'
FROM #temp t
UNION ALL
SELECT nMin + 1, nMax
FROM CTE
WHERE nMin < nMax
)
SELECT c.nMin
FROM CTE c
WHERE NOT EXISTS
(
SELECT val
FROM #temp
WHERE c.nMin = val
)