Ir para conteúdo
  • 0
RICARDOVS

Sintaxe incorreta próxima à palavra-chave 'where'

Pergunta

Estou tentando rodar a consulta abaixo, porém está dando o erro "Sintaxe incorreta próxima à palavra-chave 'where'". Poderiam me ajudar?

 

    SELECT '3. CONTAS BANCARIAS' as OPERACAO,
            SBC.REFERENCIA as DTVENC,
            CTA.CODCTABCOINT COD,
            CTA.DESCRICAO,
            SANKHYA.OBTEM_SALDO_BANCO_TGFMBC(SBC.CODCTABCOINT,convert(DATETIME, :DTSALDO)+1) as SALDODODIA,
            SANKHYA.OBTEM_SALDO_BANCO_TGFMBC(SBC.CODCTABCOINT,convert(DATETIME, :DTSALDO)+1) as SALDOFIN
       FROM TGFSBC SBC,TSICTA CTA
      WHERE SBC.CODCTABCOINT=CTA.CODCTABCOINT
        AND SBC.REFERENCIA=(SELECT MAX(SBC2.REFERENCIA) from TGFSBC SBC2 where SBC2.CODCTABCOINT=CTA.CODCTABCOINT)
        AND CTA.AD_EXIBE_BI='S'

UNION ALL

    select *
      from (select '1. CAMBIAL PENDENTE' AS OPERACAO,
                    MAX(FIN.DTVENC) AS DTVENC,
                    NAT.CODNAT AS COD, 
                    nat.descrnat AS DESCRICAO,  
                    sum(VLRCAMBIAL) AS SALDODODIA,
                    sum(vlrdesdob) as SALDOFIN
                from tgffin FIN JOIN AD_CAMBIAL CAM ON (CAM.NUFIN=FIN.NUFIN)
                    join tgfnat nat on (nat.codnat=fin.codnat)
              where CAM.TIPO='P' group by nat.descrnat, NAT.CODNAT, '1. CAMBIAL PENDENTE') s
    where :OPERACAO='1. CAMBIAL PENDENTE'

UNION ALL

    select *
      from (select '2. CAMBIAL DISPONIVEL' AS OPERACAO,
                    MAX(FIN.DTVENC) AS DTVENC,
                    NAT.CODNAT AS COD, 
                    nat.descrnat AS DESCRICAO,  
                    sum(VLRCAMBIAL) AS SALDODODIA,
                    sum(vlrdesdob) as SALDOFIN
                from tgffin FIN JOIN AD_CAMBIAL CAM ON (CAM.NUFIN=FIN.NUFIN)
                    join tgfnat nat on (nat.codnat=fin.codnat)
              where CAM.TIPO='D' group by nat.descrnat, NAT.CODNAT, '2. CAMBIAL DISPONIVEL') s
    where :OPERACAO='2. CAMBIAL DISPONIVEL'

UNION ALL

    select *
      from (select '4. MOVIMENTO' AS OPERACAO,
                    MAX(FIN.DTVENC) AS DTVENC,
                    NAT.CODNAT AS COD, 
                    nat.descrnat AS DESCRICAO,  
                    sum(fin.vlrdesdob*fin.recdesp) AS SALDODODIA,
                    sum(fin.vlrdesdob*fin.recdesp) AS SALDOFIN
                from tgffin FIN join tgfnat nat on (nat.codnat=fin.codnat)
                    INNER JOIN TGFTOP TOC ON (FIN.CODTIPOPER = TOC.CODTIPOPER AND FIN.DHTIPOPER = TOC.DHALTER)
                    LEFT JOIN AD_CAMBIAL CAM ON (CAM.NUFIN=FIN.NUFIN) AND TOC.DHALTER = (SELECT MAX(TOC.DHALTER) FROM TGFTOP TOC WHERE FIN.CODTIPOPER= TOC.CODTIPOPER) AND TOC.GRUPO<>:ADIANTAMENTOS
            where  (FIN.DHBAIXA is null)
            AND FIN.CODEMP IN :EMPRESA
            AND (FIN.PROVISAO<>:PROVISAO)
            AND (FIN.CODTIPTIT<>19 AND FIN.CODTIPTIT<>20 AND FIN.CODTIPTIT<>21)
            and FIN.DTVENC=:DIA
            group by nat.descrnat, NAT.CODNAT, '4. MOVIMENTO')
    where :OPERACAO='4. MOVIMENTO'

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

  • 0

Nossa! Prefiro dividir em várias querys, mas em uma olhada rápida vi que parece estar faltando fechar um parentese após "TOC.GRUPO<>:ADIANTAMENTOS".

 

 

WHERE FIN.CODTIPOPER= TOC.CODTIPOPER) /*< REMOVER*/ AND TOC.GRUPO<>:ADIANTAMENTOS ) /*< ADICIONAR*/

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por FabianoSouza
      Preciso corrigir o erro "Somente uma expressão pode ser especificada na lista de seleção quando a subconsulta não é introduzida com EXISTS." da minha consulta.
      SELECT TA.titulo AS 'Trilha' , (SELECT CAST(ROUND((Comportamental * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Comportamental ,CAST(ROUND((Técnico * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Técnico FROM ( SELECT SUM(CASE WHEN dbo.tabB.enfoque = '1' THEN 1 ELSE 0 END) AS Comportamental, SUM(CASE WHEN dbo.tabB.enfoque = '2' THEN 1 ELSE 0 END) AS Técnico, COUNT(*) AS Total FROM dbo.tabB ) tab ) FROM dbo.tabA AS TA Nessa consulta, preciso trazer o título (da tabA) e o resultado de um cálculo feito na subconsulta, nos campos Comportamental e Técnico.
    • Por JoãoNeto2
      Eu estava usando um programa em PHP que conectava e lia um banco de dados SQL Server. Do nada ele parou de funcionar apresentando a seguinte mensagem :
      O cliente não pode estabelecer conexão porque foi encontrado um erro durante os handshakes anteriores ao logon. As causas comuns incluem a tentativa do cliente de conectar-se a uma versão sem suporte do SQL Server, o servidor muito ocupado para aceitar novas conexões ou uma limitação de recursos (memória ou máximo de conexões permitidas) no servidor.
      Algumas informações para esclarecer :
      1-Consigo conectar o banco via Dbeaver da própria máquina que o programa PHP deixou de funcionar
      2-De outra máquina consigo conectar esse mesmo banco com o mesmo programa PHP
      3-Essa mesma máquina conecta outro banco SQL Server de outro cliente
      Ou seja, o mesmo programa conecta o mesmo banco mas de outra máquina e a mesma máquina consegue conectar outro banco SQL.
      O que pode ser?
    • Por asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • Por asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • Por asacap1000
      Salve Galera!!! estou com um projeto onde preciso disponibilizar na intranet documentos que estão em um servidor.
      Estes documentos estão salvos em diversas pastas dividido por dias meses e anos etc etc.
      Não quero que list todos os documentos porém ele seria pesquisado.
      Exemplo: NF 123456
      No arquivo salvaram assim "cliente NF 123456.pdf", tentei utilzar o glob porém ele não retorna nada nem deu erro.
      Por ser em outro servidor não seu se ele consegue ler já pesquisei mas não encontrei nada sobre isso.
       
      Saberiam me ajudar com este caso:
       
      Na intranet ele terá uma busca normal de relatórios ao listar essas informações ele diponibiliza um link com o numero da NF a qual eu chamaria essa página para realizar a busca no servidor e assim abrir o arquivo no navegador..
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.