Ir para conteúdo

POWERED BY:

Arquivado

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

Levi Gonçalves

Consulta usando 2 tabelas retornando valores vazios

Recommended Posts

Boas!

 

É o seguinte:

 

Etapa 1 - o comando SQL a seguir irá me retornar 3 clientes aleatóriamente da tabela cadastro:

 

$contv = 0;

$sqlv = "SELECT * FROM cadastro WHERE atividadeprinc = 'v' and datavctopref > curdate() ORDER BY Rand() LIMIT 3";

$resultv = mysql_query ($sqlv);

while ($regv = mysql_fetch_array ($resultv)){

$contv++;

$cliveic[$contv] = $regv['codcad'];

}

 

 

Etapa 2 - Em seguinda, o comando abaixo irá me retornar um anúncio qualquer de cada cliente que foi selecionado na etapa 1:

 

SELECT * FROM anu_veiculo WHERE codvc_cad = ".$cliveic[$contv]." ORDER BY Rand() LIMIT 1

 

 

Meu problema é o seguinte:

Por vezes tenho clientes no cadastro que não possuem anúncios e a exibição do anúncio desse cliente, quando este é selecionado na etapa 1, fica em branco na página principal do site.

 

Alguém saberia me dizer como eu poderia fazer para que o sistema selecionasse apenas clientes com registros na tabela anu_veiculo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela atenção Public2004.

 

Realmente é mais apropriado, porém o resultado é o mesmo...

 

Vou ver se explico melhor:

 

Tenho as tabelas cadastro e anu_veículo

 

Campos em cadastro

codcad #chave primária

nome

atividadeprinc

datavctopref

outros

 

Campos em anu_veículo

codveiculo #chave primária

codvc_cad #chave estrangeira, mesmo que codcad

vc_tipo

vc_fabricante

outros

 

Através destas duas tabelas preciso que sejam escolhidos aleatoriamente 3 clientes e que desses clientes seja escolhido um anúncio de cada cliente. Para tanto usei o seguinte comando:

 

SELECT * FROM anu_veiculo v, cadastro c WHERE v.codvc_cad = c.codcad and c.atividadeprinc = 'v' and c.datavctopref > curdate() ORDER BY Rand() LIMIT 3

 

Funciona perfeito, com a seguinte ressalva: Se eu tenho um cliente cadastrado, porém este não possui anúncios, o resultado poderá retornar um anúncio desse cliente mesmo ele não tendo nenhum anúncio, ou seja, o retorno é vazio, sem dado algum.

 

O que eu preciso é que esses resultados vazios (clientes cadastrados que não têm anúncios) não sejam exibidos.

 

Alguém saberia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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