Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

Recommended Posts


  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  12
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  134
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  29

Posted

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? 


  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  12
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  134
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  29

Posted (edited)

Segue consulta completa em anexo
  Parte comentada que esta com problema.
   

Contra cheque.txt

Edited by Willi Ramalho

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  535
  • Content Per Day:  0.17
  • Reputation:   184
  • Achievement Points:  3,568
  • Solved Content:  0
  • Days Won:  77
  • Status:  Offline
  • Age:  37
  • Device:  Windows

Posted

@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.

 


  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  12
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  134
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  29

Posted

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? 


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  535
  • Content Per Day:  0.17
  • Reputation:   184
  • Achievement Points:  3,568
  • Solved Content:  0
  • Days Won:  77
  • Status:  Offline
  • Age:  37
  • Device:  Windows

Posted

@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

  • Topic Count:  951
  • Topics Per Day:  0.13
  • Content Count:  9,215
  • Content Per Day:  1.24
  • Reputation:   466
  • Achievement Points:  110,001
  • Solved Content:  0
  • Days Won:  271
  • Status:  Offline
  • Age:  54
  • Device:  Windows

Posted
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
  • 2 weeks later...

  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  12
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  134
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  29

Posted

Valeu galera, deu tudo certo. 

  • Like 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

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