mamartins25 3 Report post Posted June 29 Bom dia Pessoal. Estou precisando identificar se teve algum salto no número sequencial das nf's dentro do mês, contido na tabela: Númeromov. Algum de vocês saberia como identificar via sistema ou por consulta sql? Quote Share this post Link to post Share on other sites
Jair - Fórmula 185 Report post Posted June 29 Vc pode dar um select e verifica o maior valor, menor, e a quantidade de regs. Com isso sabe se está correto. É uma ideia. Quote Share this post Link to post Share on other sites
Jair - Fórmula 185 Report post Posted June 29 Ahh, detalhe, o NUMEROMOV não é uma tabela, e sim um campo Da TABELA TMOV. Exemplo de consulta que pode lhe ajudar ai na sua necessidade: SELECT CODCOLIGADA, CODTMV, CODFILIAL, SERIE, MAX(NUMEROMOV) AS MAIORNF, MIN(NUMEROMOV) AS MENORNF, COUNT(*) AS QTDREGS FROM TMOV WHERE CODCOLIGADA = '1' AND CODTMV = '2.2.01' /* AQUI AJUSTE COM A SUA COLIGADA E COD. TIPO MOVTO DE NF */ GROUP BY CODCOLIGADA, CODTMV, CODFILIAL, SERIE Quote Share this post Link to post Share on other sites
mamartins25 3 Report post Posted June 29 Opa @Jair - Fórmula . Vou seguir por essa linha de raciocínio que vc mostrou. Muito obrigado pela orientação. Quote Share this post Link to post Share on other sites
luisgustavogomes 69 Report post Posted June 30 @mamartins25, boa noite, Uma outra forma, pode ser essa: /*** USE CORPORERM GO ;WITH TAB_INFMOV AS ( SELECT T.CODCOLIGADA ,T.CODFILIAL ,T.CODTMV ,MIN(CAST(T.NUMEROMOV AS INT)) AS 'NROMIN' ,MAX(CAST(T.NUMEROMOV AS INT)) AS 'NROMAX' FROM DBO.TMOV T WHERE T.CODCOLIGADA = 1 AND T.CODTMV = '1.1.01' AND T.CODFILIAL = 63 AND T.DATAMOVIMENTO >= '2022-01-01' AND T.DATAMOVIMENTO < '2022-02-01' GROUP BY T.CODCOLIGADA, T.CODFILIAL, T.CODTMV ) , TAB_SEQ AS ( SELECT CODCOLIGADA, CODFILIAL, CODTMV, NROMIN AS 'SEQ' FROM TAB_INFMOV UNION ALL SELECT T1.CODCOLIGADA, T1.CODFILIAL, T1.CODTMV, T1.SEQ + 1 FROM TAB_SEQ T1 CROSS APPLY TAB_INFMOV T2 WHERE T1.SEQ <= T2.NROMAX ) , TAB_DADOS AS ( SELECT S.CODCOLIGADA ,S.CODFILIAL ,S.CODTMV ,S.SEQ ,T.NUMEROMOV ,T.IDMOV ,IIF(T.IDMOV IS NULL , 1, 0) AS 'VALIDACAO' FROM TAB_SEQ S OUTER APPLY ( SELECT T2.NUMEROMOV ,T2.IDMOV FROM DBO.TMOV T2 WHERE T2.CODCOLIGADA = S.CODCOLIGADA AND T2.CODFILIAL = S.CODFILIAL AND T2.CODTMV = S.CODTMV AND T2.DATAMOVIMENTO >= '2022-01-01' AND T2.DATAMOVIMENTO < '2022-02-01' AND CAST(T2.NUMEROMOV AS INT) = S.SEQ ) T ) SELECT D.CODCOLIGADA ,D.CODFILIAL ,D.CODTMV ,D.SEQ ,D.NUMEROMOV ,D.IDMOV ,D.VALIDACAO FROM TAB_DADOS D OPTION (MAXDOP 1, MAXRECURSION 0 ) ***/ Abraços 1 Quote Share this post Link to post Share on other sites
mamartins25 3 Report post Posted June 30 Show @luisgustavogomes. Obrigado meu amigo. Quote Share this post Link to post Share on other sites