Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ndias

Ajuda com Join

Recommended Posts

tenho duas tabelas relacionadas. Ex:

tabela1 idCliente

tabela2 idCliente e Serviços

 

A tabela 2 pode ter mais de um registro do mesmo cliente

 

Eu preciso ligar a tabela 1 com a 2, mas quero trazer só 1 resultado.

 

tentei isso, mas trouxe 3:

select 1.idCliente from tabela 1 left join tabela 2 on 2.idCliente = 1.idCliente and (Serviços = 'x' or Serviços = 'y' Serviços = 'z')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse ponto "Eu preciso ligar a tabela 1 com a 2, mas quero trazer só 1 resultado". Se você já consegue unir as tabelas, trazer somente um resultado seria questão de mais algum parâmetro na consulta, não?

Entretanto, se quiser exibir somente um resultado independente de parâmetros utilize a função LIMIT.

Ex.: SELECT * FROM tabela 1 LIMIT 0,1

Compartilhar este post


Link para o post
Compartilhar em outros sites

algo como

 

select *

from tabela1 t1,tabela2 t2a

where t1.id = t2a.id

and t2a.data = (select max(t2b.data)

                           from tabela2 t2b

                           where t2b.id = t2a.id)

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui assim:

 

select X.idCliente from tabela1 X

left join tabela2 Y on X.idCliente = Y.idCliente and Servicos = 'x'

left join tabela2 Z on X.idCliente = Z.idCliente and Servicos = 'y'

where (Y.Serviços = 'x' or Z.Serviços = 'y' )

 

Ou seja, dois left join da mesma tabela com variáveis diferente e o where para trazer um ou outro

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por JoaoSilva75
      pessoal
       
      esses sites que tem na internet para registro de dominio internacional .com
      cobram um valor no primeiro mes e depois é bem mais caro
       
      o dominio que eu queria registrar o site diz que ta liberado e custa $19,99 no primeiro ano depois diz que custa $ 1499,00 
      não entendi
       
      Domain Purchase $1,499.00* Premium Domain *First Year Cost. Renews at $19.99/year Privacy + Protection 1 Year $8.99    
      não entendi essa oferta
       
      existe um site para registro de dominio .com semelhante ao registro.br ???
       
      uma vez registrei um dominio no ig e custou 11 reais, faz tempo e agora o ig não esta mais registrando
      vcs me indicam algum site para eu registrar um dominio .com ???
       
      Abraço a vcs
    • Por FabianoSouza
      Tenho a tabela VAGAS e a tab INSCRITOS.
       
      Preciso fazer um SELECT para retornar as Vagas e a quantidade de candidatos inscritos para cada VAGA.
       
      Fazendo isso retorna duplicidade de Vagas... :-(
       
      select V.empresa, COunt(CIV.cdVaga) AS insc from dbo.vagas AS V LEFT JOIN dbo.inscVaga AS CIV ON V.codigo = CIV.cdVaga GROUP BY V.codigo, V.empresa Como monto essa consulta??
    • Por Omar~
      Estou com a tarefa de elaborar uma leitura no banco de dados e não estou conseguindo achar uma solução para a instrução de leitura.
      Basicamente tenho uma tabela que de produtos, nela tenho uma coluna para registrar o vendedor e outra para registrar o comprador assim associar esses valores com a tabela de usuários.
      Digamos assim:
      SELECT produto.id, produto.vendedor, produto.comprador, usuarios.id, usuarios.nome FROM produto INNER JOIN usuarios ON produto.vendedor = usuarios.id Com isso tenho a informação do vendedor na tabela de usuários, mas como faria para obter os dados do comprador também?
       
      Uma forma seria executar dois joins na tabela de usuários porém acho que assim me parece mais gabiarra do que o jeito mais coeso de se fazer  (e na verdade foi gabiarra sim porque não sei como proceder)
      Tipo assim:
      SELECT produto.id, produto.vendedor, produto.comprador, a.id AS a_id, a.nome AS a_nome, b.id AS b_id, b.nome AS b_nome FROM produto INNER JOIN usuarios AS a ON produto.vendedor = a.id INNER JOIN usuarios AS b ON produto.comprador = b.id Tem outro jeito? Como?
    • Por Kefatif
      Prezados, boa tarde.
       
      Utilizo um banco de dados Mysql + Programação PHP e HTML.
       
      Preciso que no filtro do sql ele não me traga o estoque do CNES "0000000", como eu poderia ta excluindo ele do filtro?
       
       
      $sqlestoque = "select A.ID_ESTOQUE, D.CNES, D.NOME_UNIDADE, B.COBERTURA, A.QTD, C.DATA_REGISTRO FROM lesao_rel_estoque_coberturas A INNER JOIN lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA INNER JOIN lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE INNER JOIN unidades D ON C.CNES = D.CNES WHERE C.ID_ESTOQUE = (SELECT MAX(E.ID_ESTOQUE) FROM lesao_estoque E WHERE E.CNES = C.CNES) ORDER BY A.ID_ESTOQUE DESC";  
      Agradeço a ajuda desde já.
       
      Muito obrigado!
    • Por Omar~
      Blz...?
      Vejamos essa query:
      SELECT postagem.id, postagem.link, postagem.autor, postagem.editor, usuario.id, usuario.nome FROM postagem INNER JOIN usuario ON postagem.autor = usuario.id Então estou buscando pelos dados da postagem e o autor da mesma.
      A questão é:
      Tenho uma tabela "postagem" que guarda informação do "autor" da postagem e quem a editou "editor"
      Com essa query consigo trazer o resultado da tabela usuario dano a referencia do autor.
      Mas como eu faria para ter os dados do "autor" e do "editor" na tabela "usuario"?
      Preciso obter os nomes de quem criou e quem editou.
×

Informação importante

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