Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

LEFT JOIN MySQL

20-04-2010 20:12

Como faria o left join neste select de forma que mesmo que eu não tenha subcategoria, ele me liste a o produto mostrando a categoria. Ou de outra forma se acharem melhor.

SELECT p.*, c.*, s.* FROM  produtos p, categoria c, subcategoria s  WHERE p.id_categoria = c.id_categoria and p.id_subcategoria = s.id_subcategoria  ORDER BY p.produto"; $qry = mysql_query($sql); while ($linha = mysql_fetch_array($qry)){ ?> ?php echo $linha['codigo'];?> ?php echo $linha['produto'];?> ?php echo $linha['categoria'];?> <?php ?php echo $linha['subcategoria'];?> <?php } ?>

Se eu cadastrar um produto em devida categoria e que eu não tenha nesta categoria subcategorias, quero mostrar os produtos com a categoria.
E seu eu tiver subcategoria, ele vai mostrar o produto com a categoria e a subcategoria.

Até.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

LEFT JOIN MySQL

20-04-2010 21:28

Nesse link abaixo tem explicação sobre o LEFT JOIN e RIGHT JOIN

http://dev.mysql.com/doc/refman/4.1/pt/ ... ation.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

LEFT JOIN MySQL

20-04-2010 23:19

Opa. Valeu.
Resolvido o problema ficou assim. Deu certo pelo menos.
$sql = "SELECT * FROM  produtos p LEFT JOIN categoria c ON p.id_categoria = c.id_categoria LEFT JOIN subcategoria s ON  p.id_subcategoria = s.id_subcategoria "; $qry = mysql_query($sql); while ($linha = mysql_fetch_array($qry)){ ?> <?php echo $linha['codigo'];?> <?php echo $linha['produto'];?> <?php echo $linha['categoria']."/"?><?php echo $linha['subcategoria']; ?>

Valeu.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

LEFT JOIN MySQL

21-04-2010 07:24

:smile:
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Mensagens: 69

LEFT JOIN MySQL

29-01-2013 08:17

Fala rapaziada... Pra não abrir mais um tópico, vou tirar minha dúvida neste mesmo!

Não entendo perfeitamente a respeito de Left Join, mas este tópico: Como-usar-o-innerjoin-no-MySQL_19_6812.html me ajudou e muito acerca disto!

Porém, utilizando o exemplo deste tópico que citei acima: Como-usar-o-innerjoin-no-MySQL_19_6812.html gostaria de saber se é possível eu utilizar 2 nº de IDs na tabela 2... Vou tentar exemplificar:
tabela1
id nome
1 joao
2 maria
3 jose

tabela2
1 preto
1 2 azul
3 1 verde

Isso é possível utilizando Left Join?

O que eu preciso é o seguinte, há um sistema de imobiliária na internet que possuí a seleção do BD utilizando o Left Join, porém, e se o imóvel for tanto "Venda" como "Locação", como farei isso? Pois hoje o sistema apenas permite que seja incluído um único ID, mas nem todos os imóveis são apenas para venda ou apenas locação... Há quem deseje vender ou alugar o mesmo... Não sei se isso é possível, mas de qualquer forma, agradeço imensamente a ajuda de vocês! ;)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

LEFT JOIN MySQL

29-01-2013 09:32

Qual query está usando? Explica a relação que precisa no seu exemplo

tabela1 id nome 1 joao 2 maria 3 jose tabela2 1 preto 1 2 azul 3 1 verde

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Mensagens: 69

LEFT JOIN MySQL

29-01-2013 12:17

Seria algo do tipo:
SELECT * FROM tabela1 a
INNER JOIN (ou LEFT JOIN)
tabela2 b
on
a.id = b.id

Para ser listado +/- o seguinte:
1 João é = preto azul e verde
2 maria é apenas azul
3 josé é apenas verde!

Isso para imóveis, já que gostaira de listar imóveis que tem o ID tanto do Venda como Locação, então são 2 IDs em um campo de ID do imóvel... EX:

BD Imóvel:
ID - INFO - NOME - TIPO IMOVEL
1 - Tudo sobre o Imóvel - Fazenda - 1 4

BD TIPO IMÓVEL
ID - NOME TIPO
1 - Venda
2 - Terreno
3 - Empreendimento
4 - Locação

Logo, o imóvel com ID 1 é para Venda e Locação! Mas não consigo fazer isso com INNER ou LEFT JOIN... Não deve ser possível neah?!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

LEFT JOIN MySQL

29-01-2013 13:26

Eu acho que o ideal nesse caso seria você ter uma coluna na tabela imóvel, para armazenar os tipos possíveis. Ai você armazena os valores em um array. Disponibiliza esses valores para ser checados "radio", e salva os tipos junto. Fazer isso com 2 tabelas talvez com uma gambiarra, mas é bem complicado.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado