none
Alimentar tabela temporária com query RRS feed

  • Pergunta

  •  

    Senhores, boa tarde!

     

    estou tentando criar uma tabela temporária na qual seja alimentada com dados vindos de um select. Consigo criar a tabela ..mas qdo vou dar um select * from tabela temporaria, nao retorna nenhum valor, somente as colunas. Podem me ajudar? estou postando o código abaixo:

     

    --tabela temporaria
    Drop Table #tempteste5
    create table #tempteste5 (CodArea varchar(4000), CodFilial int, dataapu datetime)

     

    select aa.CodArea as CodArea, TB_Filial.CodFilial as CodFilial, AU.DataApu as dataapu
    from dbo.AnaPedido AP INNER JOIN dbo.AnaApuracao AU ON AP.CodPed = AU.CodPed
    INNER JOIN dbo.AnaRespostaArea AR ON AU.CodApu = AR.CodApu
    INNER JOIN dbo.AnaStatusArea ASA ON AR.CodStatusArea = ASA.CodStatusArea
    INNER JOIN dbo.AnaOrigem AO ON AP.CodOri = AO.CodOri
    INNER JOIN dbo.AnaServico ASV ON AU.CodServico = ASV.CodServico
    LEFT OUTER JOIN dbo.TB_FILIAL ON AP.CODFILIAL = dbo.TB_FILIAL.CODFILIAL
    LEFT OUTER JOIN dbo.hierarquia H ON AP.SiglaEst = H.est and h.uf=TB_FILIAL.dessiglafilial
    INNER JOIN dbo.AnaArea AA on AA.CodArea = AR.CodArea
    WHERE AU.CodStatus = 2 AND AR.CodArea <> 35 
    Group By aa.CodArea, aa.DesArea, TB_Filial.Codfilial, AU.DataApu


    insert into #tempteste5 (CodArea, CodFilial, dataapu)
    select CodArea, CodFilial, dataapu from #tempteste5

    segunda-feira, 8 de dezembro de 2008 16:06

Respostas

  • Olá,

     

    No código que vc postou ele faz insert na temporária colocando nela os dados da própria tabela temporária.

     

    Acredito que tenha de ser assim:

     

    Code Snippet

     

    --tabela temporaria

    Drop Table #tempteste5

    create table #tempteste5 (CodArea varchar(4000), CodFilial int, dataapu datetime)

     

    --aqui ele faz o insert na tabela temporária com os dados provindos das outras tabelas

    insert into #tempteste5 (CodArea, CodFilial, dataapu)

    select aa.CodArea as CodArea, TB_Filial.CodFilial as CodFilial, AU.DataApu as dataapu

    from dbo.AnaPedido AP INNER JOIN dbo.AnaApuracao AU ON AP.CodPed = AU.CodPed

    INNER JOIN dbo.AnaRespostaArea AR ON AU.CodApu = AR.CodApu

    INNER JOIN dbo.AnaStatusArea ASA ON AR.CodStatusArea = ASA.CodStatusArea

    INNER JOIN dbo.AnaOrigem AO ON AP.CodOri = AO.CodOri

    INNER JOIN dbo.AnaServico ASV ON AU.CodServico = ASV.CodServico

    LEFT OUTER JOIN dbo.TB_FILIAL ON AP.CODFILIAL = dbo.TB_FILIAL.CODFILIAL

    LEFT OUTER JOIN dbo.hierarquia H ON AP.SiglaEst = H.est and h.uf=TB_FILIAL.dessiglafilial

    INNER JOIN dbo.AnaArea AA on AA.CodArea = AR.CodArea

    WHERE AU.CodStatus = 2 AND AR.CodArea <> 35

    Group By aa.CodArea, aa.DesArea, TB_Filial.Codfilial, AU.DataApu

     

    --aqui eu faço o select na tabela temporária para ver os registros inseridos

    select CodArea, CodFilial, dataapu from #tempteste5

     

     

    Espero ter ajudado!

     

    []s

     

    PS: Se o post foi útil, marque-o como resposta! :-)

    segunda-feira, 8 de dezembro de 2008 16:15

Todas as Respostas

  • Olá,

     

    No código que vc postou ele faz insert na temporária colocando nela os dados da própria tabela temporária.

     

    Acredito que tenha de ser assim:

     

    Code Snippet

     

    --tabela temporaria

    Drop Table #tempteste5

    create table #tempteste5 (CodArea varchar(4000), CodFilial int, dataapu datetime)

     

    --aqui ele faz o insert na tabela temporária com os dados provindos das outras tabelas

    insert into #tempteste5 (CodArea, CodFilial, dataapu)

    select aa.CodArea as CodArea, TB_Filial.CodFilial as CodFilial, AU.DataApu as dataapu

    from dbo.AnaPedido AP INNER JOIN dbo.AnaApuracao AU ON AP.CodPed = AU.CodPed

    INNER JOIN dbo.AnaRespostaArea AR ON AU.CodApu = AR.CodApu

    INNER JOIN dbo.AnaStatusArea ASA ON AR.CodStatusArea = ASA.CodStatusArea

    INNER JOIN dbo.AnaOrigem AO ON AP.CodOri = AO.CodOri

    INNER JOIN dbo.AnaServico ASV ON AU.CodServico = ASV.CodServico

    LEFT OUTER JOIN dbo.TB_FILIAL ON AP.CODFILIAL = dbo.TB_FILIAL.CODFILIAL

    LEFT OUTER JOIN dbo.hierarquia H ON AP.SiglaEst = H.est and h.uf=TB_FILIAL.dessiglafilial

    INNER JOIN dbo.AnaArea AA on AA.CodArea = AR.CodArea

    WHERE AU.CodStatus = 2 AND AR.CodArea <> 35

    Group By aa.CodArea, aa.DesArea, TB_Filial.Codfilial, AU.DataApu

     

    --aqui eu faço o select na tabela temporária para ver os registros inseridos

    select CodArea, CodFilial, dataapu from #tempteste5

     

     

    Espero ter ajudado!

     

    []s

     

    PS: Se o post foi útil, marque-o como resposta! :-)

    segunda-feira, 8 de dezembro de 2008 16:15
  • Exatamente isso Marcos.

     

    Muito obrigado pela ajuda!

    Grande abraço

    segunda-feira, 8 de dezembro de 2008 17:04