none
Insert com Select RRS feed

  • Pergunta

  • Boa Tarde,

    Estou usando o seguinte comando:

    Insert INTO tbl1

    (depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, 0,00, 0,00, 'N')

    (

    Select

    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, Sum(valor) as valor_realizado, 0 as valor_meta, 0 as valor_gmd, 'N' as tipo

    from

    tb2

    GROUP BY

    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano

    ORDER BY

    cod_pacote, conta_contabil)

    Porém esta dando o seguinte erro:

    Msg 102, Level 15, State 1, Line 2

    Sintaxe incorreta próxima a '0'.

    Msg 156, Level 15, State 1, Line 10

    Sintaxe incorreta próxima à palavra-chave 'ORDER'.


    Alguém saberia me ajudar a indetificar o erro?

    Obrigado,

    quinta-feira, 19 de fevereiro de 2009 16:58

Respostas

  • Olá,

    Seu código ficou assim:

     
     
     
    Insert INTO tbl1(  
        depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, AlgumCampo, OutroCampo, OutroCampo  
    )  
    Select   
    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, Sum(valor) as valor_realizado, 0 as valor_meta, 0 as valor_gmd, 'N' as tipo  
    from   
    tb2  
    GROUP BY   
    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano  
    ORDER BY 
        cod_pacote, conta_contabil  
     
    Note que o seu estava assim:  
        depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, 0,00, 0,00, 'N')  
     
     
     
     

    Abraços
    Demétrio Silva
    • Marcado como Resposta Ricardo Eduardo quinta-feira, 19 de fevereiro de 2009 18:56
    quinta-feira, 19 de fevereiro de 2009 17:47

Todas as Respostas

  • cara, os valores não podem ter vírgula, senão ele vai considerar que são campos para insert... troca por ponto... tipo 0,00 por 0.00...
    Anderson Rodrigues
    quinta-feira, 19 de fevereiro de 2009 17:22
  • Anderson fiz a alteraçao que vc me informou, as veja o erro agora:

    Msg 102, Level 15, State 1, Line 2

    Sintaxe incorreta próxima a '0.00'.

    Msg 156, Level 15, State 1, Line 10

    Sintaxe incorreta próxima à palavra chave 'ORDER'.

    Obrigado,

    quinta-feira, 19 de fevereiro de 2009 17:24
  •  Olá,


    0,00 é o nome de um campo, mesmo se fosse, deveria ser escrito da seguinte forma [0,00]? pois a cláusula insert funciona da seguinte forma:

    insert into table (campo1, campo2)
    select 'aa', 'bb'

    Abraços
    Demétrio Silva
    quinta-feira, 19 de fevereiro de 2009 17:34
  • Demétrio Silva,

    Fiz o que vc me disse só que esta dando erro no Order BY, neste caso o SQL não permite que eu faça esse tipo de comando?

    quinta-feira, 19 de fevereiro de 2009 17:39
  • Olá,

    Seu código ficou assim:

     
     
     
    Insert INTO tbl1(  
        depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, AlgumCampo, OutroCampo, OutroCampo  
    )  
    Select   
    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, Sum(valor) as valor_realizado, 0 as valor_meta, 0 as valor_gmd, 'N' as tipo  
    from   
    tb2  
    GROUP BY   
    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano  
    ORDER BY 
        cod_pacote, conta_contabil  
     
    Note que o seu estava assim:  
        depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, 0,00, 0,00, 'N')  
     
     
     
     

    Abraços
    Demétrio Silva
    • Marcado como Resposta Ricardo Eduardo quinta-feira, 19 de fevereiro de 2009 18:56
    quinta-feira, 19 de fevereiro de 2009 17:47
  • Demétrio Silva disse:

    Olá,

    Seu código ficou assim:

     
     
     
    Insert INTO tbl1(  
        depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, AlgumCampo, OutroCampo, OutroCampo  
    )  
    Select   
    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, Sum(valor) as valor_realizado, 0 as valor_meta, 0 as valor_gmd, 'N' as tipo  
    from   
    tb2  
    GROUP BY   
    depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano  
    ORDER BY 
        cod_pacote, conta_contabil  
     
    Note que o seu estava assim:  
        depto, cod_filial, descr_filial, cod_pacote, descr_pacote, conta_contabil, mes, ano, valor, 0,00, 0,00, 'N')  
     
     
     
     

    Abraços
    Demétrio Silva



    Obrigado pela sua ajuda Demétrio.
    quinta-feira, 19 de fevereiro de 2009 18:57