Ir para conteúdo

POWERED BY:

Arquivado

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

regina

Consulta mysql com condição

Recommended Posts

Boa tarde,

 

não sei como montar o SELECT para a seguinte questão:

Tenho 3 tabelas (grupo_de_produtos e produtos e produtos_fotos).

Na tabela grupo_de_produtos tenho grupo_id, descricao, imagem

Na tabela de produtos tenho: produto_id, grupo_id, produto_nome, descricao, imagem (para banner)

Na tabela de produtos_fotos tenho: foto_id, produto_id, imagem

 

Preciso fazer uma seleção usando o seguinte pensamento:

Se não tiver imagem na tabela produtos usar a da tabela produtos_fotos mas se também não existir imagem na produtos_fotos usar exibir a imagem da tabela grupos_de_produtos.

 

Desde já agradeço a quem puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução possível seria uma function que retornaria a imagem com base na regra passada.

 

imagem em questão é um BLOB ou um caminho de rede ?

 

Grosso modo

 

function foto (p_produto)

select imagem,grupo_id from produtos where produto = p_produto;
se não achou ou imagem vazia
 select imagem from produtos_fotos where produto = p_produto;
   se não achou ou imagem vazia
      select imagem from grupo_de_produtos_fotos where grupo = grupo_id;

retorna imagem

 

Não conheço a síntaxe exata em Mysql, desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual seria mais apropriado usar: if ou not exist?

 

nunca fiz select com esses "comandos".

 

Agradeço a atenção Motta

Compartilhar este post


Link para o post
Compartilhar em outros sites
qual seria mais apropriado usar: if ou not exist?

 

Os dois talvez tenham de ser tratados , pois o registro pode não existir ou existir e o campo não estar preenchido (nulo ou branco)

 

Não conheço a síntaxe para MySql como disse, não sei a melhor forma.

 

Mas grosso modo é como disse, fazer os selects segundo as regras que você passou.

 

A imagem em questão é um BLOB ou um caminho de rede ?

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.