Ir para conteúdo
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

Left Join


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:  43

Amigos,

Desenvolvi uma SQL, utilizando Left Join, para controle de vacinas no RM VITAE.

Estou com um problema, a pessoa de código 8 tomou as vacinas 00007 e 00008, e neste caso, o resultado que preciso que retorne é apenas a pessoa 5, porém, o sistema está retornando a pessoa 5 e 8.

O que será que está errado ?

SELECT D.CODVACINA, B.CODIGO, B.NOME, A.CODVACINA, C.NOMEVACINA, A.DTAPLICACAO, A.NRDOSE, A.DTAPLICACAO+30 AS VENCIMENTO$

FROM PPESSOA B

left join VCTRLVACINAL A on (a.codpessoa = b.codigo and a.codvacina = '00007')

left join VCTRLVACINAL D on (d.codpessoa = b.codigo and a.codvacina = '00008')

left join VVACINA C on c.codvacina = a.codvacina

WHERE B.CODIGO IN ('5', '8')

AND (A.DTAPLICACAO+30 <= '2008-03-15' OR A.DTAPLICACAO IS NULL)

AND D.CODVACINA IS NULL

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  12
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  88
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  560
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Rhicky bom dia!

Pelo que li na sua sentença, vc quer que traga todas as pessoas(tabela ppessoa), mesmo que não tenha dados nas tabelas vctrlvacinal e vvacina. É isso mesmo?

OU você não quer quer retorne as pessoas que tomaram a vacina 00007 e 00008?

OU você quer que retorne as pessoas que nunca tomaram a vacina ou a data de aplicacao mais 30 dias seja menor que 15/03/2008?

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

Ricky,

Observe sua cláusula where, está retornando a pessoa 5 e 8 porque possui isso como filtro (olha em destaque).

Amigos,

Desenvolvi uma SQL, utilizando Left Join, para controle de vacinas no RM VITAE.

Estou com um problema, a pessoa de código 8 tomou as vacinas 00007 e 00008, e neste caso, o resultado que preciso que retorne é apenas a pessoa 5, porém, o sistema está retornando a pessoa 5 e 8.

O que será que está errado ?

SELECT D.CODVACINA, B.CODIGO, B.NOME, A.CODVACINA, C.NOMEVACINA, A.DTAPLICACAO, A.NRDOSE, A.DTAPLICACAO+30 AS VENCIMENTO$

FROM PPESSOA B

left join VCTRLVACINAL A on (a.codpessoa = b.codigo and a.codvacina = '00007')

left join VCTRLVACINAL D on (d.codpessoa = b.codigo and a.codvacina = '00008')

left join VVACINA C on c.codvacina = a.codvacina

WHERE B.CODIGO IN ('5', '8')

AND (A.DTAPLICACAO+30 <= '2008-03-15' OR A.DTAPLICACAO IS NULL)

AND D.CODVACINA IS NULL

Link para comentar
Compartilhar em outros sites

  • 1 mês depois...

  • 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

E aí Ricky, resolvido?

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.