Fernandinha Posted September 9, 2011 Report Share Posted September 9, 2011 (edited) Bom dia pessoal,Estou com problemas com datas, vocês poderiam me dar um help por favor?Tenho duas tabelas, na primeira tabela tenho as seguintes informações:Tabela ADtInicTurma DtFinalTurma2011-08-15 00:00:00.000 2011-08-24 00:00:00.000Na outra tabela tenho as datas:Tabela BDtRegistro2011-08-15 00:00:00.0002011-08-16 00:00:00.0002011-08-17 00:00:00.0002011-08-22 00:00:00.0002011-08-23 00:00:00.0002011-08-24 00:00:00.000Preciso saber quais datas não tenho na tabela B de acordo com o range passado na tabela A.Desde já agradeço a ajuda. Edited September 9, 2011 by Fernandinha Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted September 9, 2011 Report Share Posted September 9, 2011 Bom dia Fernandinha, Fiz um exemplo comentado com duas temporárias. Espero que ajude.-- Criação das temporárias create table #TabelaA (DtInicTurma datetime, DtFinalTurma DATETIME) create table #TabelaB (DtRegistro DATETIME) -- Inserção dos dados INSERT INTO #TabelaA VALUES ('2011-08-15 00:00:00.000', '2011-08-24 00:00:00.000') INSERT INTO #TabelaB VALUES ('2011-08-15 00:00:00.000') INSERT INTO #TabelaB VALUES ('2011-08-16 00:00:00.000') INSERT INTO #TabelaB VALUES ('2011-08-17 00:00:00.000') INSERT INTO #TabelaB VALUES ('2011-08-22 00:00:00.000') INSERT INTO #TabelaB VALUES ('2011-08-23 00:00:00.000') INSERT INTO #TabelaB VALUES ('2011-08-24 00:00:00.000') -- Selecionar e executar daqui até o final DECLARE @DataInicial DATETIME DECLARE @DataFinal DATETIME SET @DataInicial = (SELECT DtInicTurma from #TabelaA) SET @DataFinal = (SELECT DtFinalTurma from #TabelaA) WHILE @DataInicial <= @DataFinal BEGIN IF (SELECT top 1 1 FROM #TabelaB WHERE DtRegistro=@DataInicial) IS NULL BEGIN PRINT convert(varchar(10),@DataInicial, 103) END SET @DataInicial = DATEADD (d, 1, @DataInicial) END Quote Link to comment Share on other sites More sharing options...
0 Fernandinha Posted September 9, 2011 Author Report Share Posted September 9, 2011 Olá Fulvio, deu certo, eu tinha até conseguido fazer, porém ficou muito grande o código, o seu ficou bem mais enxuto.Obrigada. =) Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted September 9, 2011 Report Share Posted September 9, 2011 rs... de nada. Precisando estamos ai!! Quote Link to comment Share on other sites More sharing options...
Question
Fernandinha
Bom dia pessoal,
Estou com problemas com datas, vocês poderiam me dar um help por favor?
Tenho duas tabelas, na primeira tabela tenho as seguintes informações:
Tabela A
DtInicTurma DtFinalTurma
2011-08-15 00:00:00.000 2011-08-24 00:00:00.000
Na outra tabela tenho as datas:
Tabela B
DtRegistro
2011-08-15 00:00:00.000
2011-08-16 00:00:00.000
2011-08-17 00:00:00.000
2011-08-22 00:00:00.000
2011-08-23 00:00:00.000
2011-08-24 00:00:00.000
Preciso saber quais datas não tenho na tabela B de acordo com o range passado na tabela A.
Desde já agradeço a ajuda.
Edited by FernandinhaLink to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.