Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Sentença SQL<b> (Resolvido)</b>


Rhicky

Posts Recomendados


  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Estou criando uma consulta SQL para acertar a seguinte situação:

Uma empresa possui 50 coligadas. A Coligada 1 (Principal) está devidamente parametrizada... A tarefa que me foi passada foi a de criar um script para verificar, por meio de cruzamentos, se a descrição dos eventos das demais coligadas estão iguais aos da Coligada 1...

Sendo assim, apesar da consulta abaixo não estar funcional, acredito que ela deveria ficar mais ou menos assim:

DECLARE

COD1 AS VARCHAR;

COD2 AS VARCHAR;

DESC1 AS VARCHAR;

DESC2 AS VARCHAR

SET COD1 = (SELECT CODIGO FROM PEVENTO WHERE CODCOLIGADA = 1);

SET COD2 = (SELECT CODIGO FROM PEVENTO WHERE CODCOLIGADA = 2);

SET DESC1 = (SELECT DESCRICAO FROM PEVENTO WHERE CODCOLIGADA = 1);

SET DESC2 = (SELECT DESCRICAO FROM PEVENTO WHERE CODCOLIGADA = 2)

SELECT CODIGO, DESCRICAO, CODCOLIGADA

FROM PEVENTO

WHERE COD1 = COD2 AND DESC1 <> DESC2

ORDER BY CODIGO

Como deve ser feita esta consulta ? Será que podem me ajudar ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  32
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  565
  • Conteúdo/Dia:  0.09
  • Reputação:   10
  • Pontos/Conquistas:  3.159
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  43
  • Dispositivo:  Windows

Ricardo, tenta essa :

select a.codcoligada as "Coligada A", a.codigo as "Código A", a.descricao as "Descrição A", b.codcoligada as "Coligada B", b.codigo as "Código B", b.descricao as "Descrição B"

from pevento a, pevento b

where b.codigo = a.codigo

and b.descricao <> a.descricao

and a.codcoligada = 181 -- Informe aqui a coligada já parametrizada

and b.codcoligada in (27,185) -- Informe aqui as coligadas que devem ser verificadas

Order by 4

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Fabio,

Funfou direitinho... valeu! Obrigado!

Agora estou precisando criar uma outra fórmula que verifique se existem eventos na coligada A que não estão inclusos na coligada B... Como ficaria isso ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  32
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  565
  • Conteúdo/Dia:  0.09
  • Reputação:   10
  • Pontos/Conquistas:  3.159
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  43
  • Dispositivo:  Windows

Tá abusando hein?! rs....

select a.Codcoligada, a.Codigo , a.Descricao

from pevento a

where not exists ( select 1

from pevento

where codigo = a.codigo

and codcoligada = 27 ) -- esta é a coligada que será comparada

and codcoligada = 181 -- esta é a coligada de referencia

Neste caso, retorna tudo o que existe na 181 e que não existe na 27, observando que o campo CODIGO deve ser o mesmo

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Fábio, mais uma vez agradeço o apoio... :)

será que posso abusar mais um pouquinho ?...

Com base na instrução que você postou, finalizei com a seguinte instrução:

select a.Codcoligada, a.Codigo , a.Descricao

from pevento a

where a.codcoligada = 1

and not exists

(

select *

from pevento b

where b.codigo = a.codigo and b.codcoligada in (90)

)

Quando faço a comparação com uma coligada ela está funcionando perfeitamente, porém se preciso consultar em mais coligadas, conforme instrução abaixo:

select a.Codcoligada, a.Codigo , a.Descricao

from pevento a

where a.codcoligada = 1

and not exists

(

select *

from pevento b

where b.codigo = a.codigo and b.codcoligada in (90, 107, 118, 86, 132)

)

não é possível. Será que podemos incrementá-la para que faça essa consulta em mais coligadas ? Dá muito trabalho ?

Outra coisa, se fosse possível trazer no select o código da coligada que ele comparou seria bastante útil.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  32
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  565
  • Conteúdo/Dia:  0.09
  • Reputação:   10
  • Pontos/Conquistas:  3.159
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  43
  • Dispositivo:  Windows

Ricardo, hj tô na correria.

Coloquei vários exemplos pra vc e acho que com eles vc consegue se virar..... *B)*

Descobre como faz e posta aí pra gente blz?! :EmoticonosMsN (85):

Abraço,

Link para comentar
Compartilhar em outros sites

  • 3 semanas depois...

  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Fábio,

Fico grato pelo apoio e pela atenção.

A ajuda fornecida foi bastante útil... obrigado! :blush:

Se precisar de algo é só chamar...

Valeu! :EmoticonosMsN (85):

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  284
  • Tópicos/Dia:  0.04
  • Meu Conteúdo:  2.117
  • Conteúdo/Dia:  0.32
  • Reputação:   10
  • Pontos/Conquistas:  13.363
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  45

Blz Rick, como o Fabio disse posta pra gente como você resolveu o problema.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Sebastião, segue a instrução final que utilizei:

select a.codigo, a.descricao, a.codcoligada, b.codigo, b.descricao, b.codcoligada

from pevento a, pevento b

where b.codigo = a.codigo

and b.descricao <> a.descricao

and a.codcoligada = 1

and b.codcoligada in (90, 107, 118, 86, 132, 78, 80, 112, 83, 114, 97, 106, 110,

20, 27, 30, 31, 34, 58, 60, 61, 63, 108, 109, 126, 82, 135)

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  28
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  342
  • Conteúdo/Dia:  0.05
  • Reputação:   0
  • Pontos/Conquistas:  1.990
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  49

Tópico Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores

Se preferir, mande um email para admin@forumrm.com.br

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

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

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.