Jump to content
Willi Ramalho

Consulta contra cheque

Recommended Posts

Boa tarde senhores, não conseguir colocar no topico de sql, por isso coloquei aqui. Aqui na implantação do sistema, foi feito um relatório customizado com Consultor da época e o gerente do setor.

Estou com problema em uma parte do codigo, consegui encontrar onde esta o erro, mais como não entendo muito ainda de SQL, não to conseguindo resolver.

Da erro de "ORA-01427: single-row subquery returns more than one row"  nessa parte da consulta " , (SELECT REF FROM PFFINANC
            where CODEVENTO = VC.CODEVENTO
            AND CHAPA = VC.CHAPA
            AND MESCOMP = VC.MESCOMP
            AND ANOCOMP = VC.ANOCOMP
            AND NROPERIODO =  VC.NROPERIODO) AS REFERENCIA,"

Quando deixa essa parte comentada, a consulta funciona, mais eu preciso das referencias no contra cheque, alguém me da um luz? 

Share this post


Link to post
Share on other sites

@Willi Ramalho, boa noite! 

Analisando sua query... não consegui entender sua sub-query, pois já está efetuando a leitura na PFFINANC... acredito que vai efetuar um agrupamento seção, pois bem, no SQL Server poderia acontecer alguns problemas referente a essa sub-query (Dependendo da Versão), pois não tem alias... e como não tenho uma base Oracle para efetuar testes, cria um alias para essa tabela, se for utilizar um agrupador, se não, só troca essa sub-query por VC.REF.

Espero ter ajudar, abraços.

 

Share this post


Link to post
Share on other sites

Boa tarde Luiz, Obrigado pela resposta, foi desenvolvida pelo meu antigo gestor, na saida dele da empresa fiquei meio do escuro, por ainda não saber tudo de banco de dados ainda. Não entendi como eu trocaria a sub-query por VC.REF.

Poderia me direcionar? 

Share this post


Link to post
Share on other sites

@Willi Ramalho, bom dia!

Isso...

/***********************************************************************

    , /*(SELECT REF FROM PFFINANC
            where CODEVENTO = VC.CODEVENTO
            AND CHAPA = VC.CHAPA
            AND MESCOMP = VC.MESCOMP
            AND ANOCOMP = VC.ANOCOMP
            AND NROPERIODO =  VC.NROPERIODO) AS REFERENCIA,*/

***********************************************************************/

Por...

/***********************************************************************

VC.REF

***********************************************************************/

 

Abraços.

  • Like 1

Share this post


Link to post
Share on other sites
Em 14/12/2021 at 13:56, Willi Ramalho disse:

Boa tarde senhores, não conseguir colocar no topico de sql, por isso coloquei aqui. Aqui na implantação do sistema, foi feito um relatório customizado com Consultor da época e o gerente do setor.

Estou com problema em uma parte do codigo, consegui encontrar onde esta o erro, mais como não entendo muito ainda de SQL, não to conseguindo resolver.

Da erro de "ORA-01427: single-row subquery returns more than one row"  nessa parte da consulta " , (SELECT REF FROM PFFINANC
            where CODEVENTO = VC.CODEVENTO
            AND CHAPA = VC.CHAPA
            AND MESCOMP = VC.MESCOMP
            AND ANOCOMP = VC.ANOCOMP
            AND NROPERIODO =  VC.NROPERIODO) AS REFERENCIA,"

Quando deixa essa parte comentada, a consulta funciona, mais eu preciso das referencias no contra cheque, alguém me da um luz? 

O erro em si, é devido estar retornando de um registro dentro da Sub Query, e isso está ocorrendo, pois, você deve ter mais de uma coligada na base, e a subquery não tratou a coligada, então, deve ter retornado o mesmo evento para uma chapa igual, mês, ano e período de outra, diferente do registro que está lendo na query principal. 

Agora, é como o @luisgustavogomes comentou acima, realmente não tem sentido o seu uso, a não ser que quis fazer alguma leitura específica (diferente) mas não montou correto a subquery. Fazendo apenas o que ele citou, ou seja, colocando apenas o "VC.REF" no lugar da subquery já funcionaria normalmente o que está tentando ler no seu script da forma que está. 

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By pedrohsc.main
      ~Trablhando em Lansweeper~
      Gostaria que minha consultar trouxesse sempre a data atual.
      Sql : 
      Select Distinct tblAssets.AssetName As micro,
        tblAssets.Memory As memoria,
        tblAssets.Processor As Processador,
        tblAssets.IPAddress,
        tblAssets.Username,
        tblAssetCustom.Model,
        tsysOS.OSname,
        tblAssets.Lastseen
      From lansweeperdb.dbo.tblAssets
        Inner Join lansweeperdb.dbo.tblOperatingsystem On tblAssets.AssetID =
            tblOperatingsystem.AssetID
        Inner Join lansweeperdb.dbo.tblAssetCustom On tblAssets.AssetID =
            tblAssetCustom.AssetID
        Inner Join lansweeperdb.dbo.tsysIPLocations On tsysIPLocations.LocationID =
            tblAssets.LocationID
        Inner Join lansweeperdb.dbo.tsysOS On tblAssets.OScode = tsysOS.OScode
       
      A coluna *tblAssets.Lastseen* me tras a última varredura do sistema.
      Como posso por condição nela, pra que ela me traga sempre a data atual de forma automática ??
      Para compreender o motivo. eu criei um ALERTA no sistema do lansweeper, então queria que, disparasse somente os micros "varridos" do dia.
      Alguém pode me ajudar por favor ?
       
      Saudaçoes !
    • By luisgustavogomes
      Pessoal, boa tarde!
      Estou criando um diretório do Github com algumas consultas que podem "ou não" ajudar a comunidade, neste caso o link do repositório é o https://github.com/luisgustavogomes/TOTVS-RM/tree/master/RH e temos dois (2) eventos para tratamos dos históricos da Folha.
       
      https://github.com/luisgustavogomes/TOTVS-RM/blob/master/RH/FOP_GET_HSTFUNCAO.sql
      https://github.com/luisgustavogomes/TOTVS-RM/blob/master/RH/FOP_GET_HSTSECAO.sql
       
      Segue uma forma de utilização... 
      USE CORPORERM
      GO 
      SELECT 
           PF.CODCOLIGADA
          ,PF.CHAPA
          ,PF.ANOCOMP
          ,PF.MESCOMP
          ,PF.NROPERIODO
          ,HF.CODFUNCAO_HIST
          ,HF.NOME_FUNCAO_HIST
          ,HS.CODSECAO_HIST
          ,HS.DESC_SECAO_HIST
      FROM DBO.PFPERFF PF
      CROSS APPLY [dbo].[TB_FOP_GET_HISTFUNCAO] 
      (    
           PF.CODCOLIGADA
          ,PF.CHAPA
          ,EOMONTH(DATEFROMPARTS(PF.ANOCOMP,PF.MESCOMP,1))
      ) HF
      CROSS APPLY [dbo].[TB_FOP_GET_HISTSECAO] 
      (    
           PF.CODCOLIGADA
          ,PF.CHAPA
          ,EOMONTH(DATEFROMPARTS(PF.ANOCOMP,PF.MESCOMP,1))
      ) HS
      WHERE PF.CODCOLIGADA = 1 
      AND PF.ANOCOMP = 2020
      AND PF.MESCOMP = 10
       
      A lógica para qualquer outro histórico é parecido, caso queiram outros exemplos e só falar !!! 
      Espero que ajude alguém.
      Abraços.
       
    • By Marcelo Todaro
      Caríssimos,
      O algoritmo abaixo é a versão simplificada de um script SQL que preciso rodar:
      select distinct CODIGO, DATA_ATUALIZACAO, DATA_APROVACAO from TABELA where ORDEM_SERVICO = '1' and DATA_CRIACAO <= to_date('01/10/2021','dd/mm/yyyy') and ((DATA_ATUALIZACAO like to_date(SYSDATE,'dd/mm/yyyy') or DATA_APROVACAO like to_date(SYSDATE,'dd/mm/yyyy')) order by CODIGO ; Mesmo usando "distinct" o resultado retorna valores repetidos de "CODIGO" quando "ORDEM_SERVICO" é 1 para mais de um campo ao mesmo tempo.
      Agradeço dicas de como evitar essa repetição.
    • By Fabio Caspirro
      Preciso criar uma sentença SQL que traga todos os clientes com o primeiro nome = “Jorge” e que tenham o telefone começando com “99”.
      Porém, não sei devido estar em tabelas diferentes, alguem pode me ajudar?
       
    • By Evandro Gonçalves
      Bom dia.
      Alguém teria um script sql do custo da folha, calculando Custo da folha = Soma de Proventos+ Fgts+ Benefícios-Deduções INSS
    • By Adelson joão da Silv
      Pessoal, boa tarde! Estou chegando agora nesse fórum e gostaria se possível de uma ajuda, é que estou tentando fazer uma consulta SQL que retorne os seguintes dados:
      Chapa I Nome I Código do Evento I Descrição do Evento I Valor do Evento Jan/2019 I Valor do Evento Fev/2019 I Valor do Evento Mar/2019.
      Será que alguém tem essa consulta montada? se sim, agradeço desde já se puder disponibilizar.
      Adelson João
    • By Severo Daniel Madruga
      Boa tarde
      Sou novo no mundo dos sistemas Totvs linha RM, estou precisando gerar diversos cubos e raltorios para a versão do RM.Educacional mas estou com uma dificuldade enrome em identificar e entender a identificacao de qual atabela pertençe a qual linha de produtos dentro do banco de dados, gerei um relatorio da tabela GLINKSREL porem existem muitas tabelas que não me levam as respostas esperadas na minha consulta.
      Agradeço a ajuda
    • By Jair - Fórmula
      Estou montando um conceito de testes aqui e usando uma leitura  tipo CONEXAO DE BANCO DADOS com Sentença SQL e me retorna esse erro abaixo. Já ouvi falar, mas não consigo saber exatamente o que colocar no lugar da sentença lá 😕 Por sinal queria mesmo era usar uma  procedure. Ai dependendo já não sei o que fazer neste caso, mas vamos lá... 


      " A sentença SQL da tabela deve conter um comentário para substituição do filtro. /* where */ OU /* and */    "
      Minha sentença é básica, ainda de testes, por exemplo:
      Select CodColigada, Sum(Valor) as Valor 
      From TabTemp
      Where 1=1
      Group by CodColigada
    • By rafaelf
      Esse manual irá te ajudar a identificar:
      - uma tabela a partir de uma tela de cadastro.
      - entender como foi criada a tabela GLINKSREL
      - a executar comandos em SQL e outros.
       
       
      treinamentodesql.pptx
    • By Jair - Fórmula
      Montei uma listagem de tabelas dinâmicas do sistema para quem quiser consultar facilmente o nome de alguma tabela usada para armazenar detalhes de tabelas usadas internamente no sistema para algumas funções, como itens de código de situação de funcionários, tipo de dependente, entre outros.

       
      Vou montar uma outra consulta , provavelmente uma procedure, com informações das tabelas com os detalhes, da GCONSIST, e demais tabelas internas usadas nas tabelas dinâmicas do sistemas. 
       
      Listagem de Tabelas Dinâmicas.xlsx
  • Recent

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.