Usuário com melhor resposta
Consulta de salto de sequência

Pergunta
-
Boa tarde,
Preciso fazer um Select que identifique saltos de sequencial em uma tabela.
Ex:
NotaFiscal
500
501
503
506
No caso acima o select identificar que estão faltando na sequência os números 502, 504 e 505
Se alguém puder ajudar eu agradeço.
Respostas
-
De forma objetiva , da pra resolver assim ,segue um exemplo
DECLARE @NotasFiscais TABLE (CodNotaFiscal INT); INSERT INTO @NotasFiscais (CodNotaFiscal) VALUES (500), (501 ), (503 ), (506 ); DECLARE @MinValue INT = (SELECT MIN(NF.CodNotaFiscal) FROM @NotasFiscais AS NF); DECLARE @MaxValue INT = (SELECT MAX(NF.CodNotaFiscal) FROM @NotasFiscais AS NF); WITH Intervalo AS ( SELECT @MinValue AS Numero UNION ALL SELECT I.Numero + 1 FROM Intervalo I WHERE I.Numero < @MaxValue ) SELECT Intervalo.Numero, NF.CodNotaFiscal FROM Intervalo LEFT JOIN @NotasFiscais AS NF ON Intervalo.Numero = NF.CodNotaFiscal WHERE NF.CodNotaFiscal IS NULL OPTION (MAXRECURSION 0)
Wesley Neves - Brasilia-DFhttps://wesleyneves.wordpress.com/
SELECT Tab.[that's me:]
FROM
(
VALUES
('Wesley Neves'),
('Analista.NET'),
('Pós Graduando em Banco de Dados com ênfase em BI'),
('MTA -SQL Server'),
('MTA -Web Developed')
) AS Tab ("that's me:");
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 20:54
Todas as Respostas
-
-
-
De forma objetiva , da pra resolver assim ,segue um exemplo
DECLARE @NotasFiscais TABLE (CodNotaFiscal INT); INSERT INTO @NotasFiscais (CodNotaFiscal) VALUES (500), (501 ), (503 ), (506 ); DECLARE @MinValue INT = (SELECT MIN(NF.CodNotaFiscal) FROM @NotasFiscais AS NF); DECLARE @MaxValue INT = (SELECT MAX(NF.CodNotaFiscal) FROM @NotasFiscais AS NF); WITH Intervalo AS ( SELECT @MinValue AS Numero UNION ALL SELECT I.Numero + 1 FROM Intervalo I WHERE I.Numero < @MaxValue ) SELECT Intervalo.Numero, NF.CodNotaFiscal FROM Intervalo LEFT JOIN @NotasFiscais AS NF ON Intervalo.Numero = NF.CodNotaFiscal WHERE NF.CodNotaFiscal IS NULL OPTION (MAXRECURSION 0)
Wesley Neves - Brasilia-DFhttps://wesleyneves.wordpress.com/
SELECT Tab.[that's me:]
FROM
(
VALUES
('Wesley Neves'),
('Analista.NET'),
('Pós Graduando em Banco de Dados com ênfase em BI'),
('MTA -SQL Server'),
('MTA -Web Developed')
) AS Tab ("that's me:");
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de fevereiro de 2018 20:54