저는이 문제가 있습니다. 저는이를 해결할 수 없습니다. 나는 누락 된 숫자 간격을 얻을 수는 있지만, 나는 연속 시리즈에서 그걸 다시 모을 수는 없다.시리즈에서 연속 간격을 모두 생성하십시오.
따라서 [1000100110021003100510061008]으로 정의 된 시리즈가있는 경우 세 연속 시리즈 [1000100110021003] 및 [1005,1006]을 추출하고 싶습니다. 및 [1008]. 간단한 CTE를 사용하여 1003, 1005,1006 및 1008을 얻었으므로 간격의 끝과 시작을 얻을 수 있지만 지금은 무엇입니까?
|to |from |
|1000 |1003 |
|1005 |1006 |
|1008 |1008 |
누구나가 공유 할 스마트 솔루션을 가지고 : 결국
나는 다음과 같다 표를 줄까?편집
:WITH MissingNumbers (FromNumber, ToNumber) AS
(
SELECT
T1.TaxLabelNumber,
T2.TaxLabelNumber
FROM TaxLabel T1
JOIN TaxLabel T2
ON T1.TaxLabelId + 1 = T2.TaxLabelId
WHERE T1.TaxLabelNumber <> T2.TaxLabelNumber - 1
)
SELECT * INTO #TempNumbers
FROM MissingNumbers
EDIT2 : 년 OFC 여기 은 (아마도 reduntant) CTE이다. 계획이 바뀌었기 때문에 더 이상 이런 종류의 해결책이 필요하지 않습니다. 모든 답장을 보내 주셔서 감사합니다! 매우 도움이 됨 : D