LEFT JOIN e MIN na segunda tabela

SQL

11/11/2013

Boa noite!

Depois de tanto quebrar a cabeça vim pedir ajuda aos amigos do forum.

Estou usando o banco de dados access e nele tenho duas tabelas:

Tabela_produtos
id
produto

tabela_fotos
id_foto
id_produto
foto

O problema é que na tabela fotos podem existir mais de uma foto para cada produto da mesma forma que este pode ficar vazio.
Então fiz a seguinte instrução SQL:

SELECT a.id, a.produto, b.foto
FROM tabela_produtos AS a LEFT JOIN tabela_fotos as b ON a.id = b.id_produto

A instrução junta as tabelas corretamente, o problema é que quando o produto tem mais de uma foto ele exibe todas, como por exemplo:
produto foto
1 24.jpg
2
3 25.jpg
4 25.jpg

Já usei a instrução:

SELECT a.id, a.produto, b.foto
FROM tabela_produtos AS a LEFT JOIN tabela_fotos as b ON a.id = b.id_produto
WHERE b.id_foto=(Select MIN(b.id_foto) FROM tabela_fotos as b)

Mas ai ele mostra somente uma foto no banco de dados.

alguem sabe como resolver o problema?

Desde já agradeço.







Marcelo Lopes

Marcelo Lopes

Curtidas 0

Respostas

Mariana Carvalho

Mariana Carvalho

11/11/2013

qual o SGBD?
GOSTEI 0
Alex Lekao

Alex Lekao

11/11/2013

Ola Bom dia!!!

Esperimente colocar um DISTINCT na lista de campos e verifica se resolve.

Espero ter ajudado.

Abraco.

Alex - Lekao
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

11/11/2013

Ola Bom dia!!!

Esperimente colocar um DISTINCT na lista de campos e verifica se resolve.

Espero ter ajudado.

Abraco.

Alex - Lekao


Alex, é SQL Server?
GOSTEI 0
Alex Lekao

Alex Lekao

11/11/2013

Nao sei.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

11/11/2013

mas esse T-SQL serve para qualquer SGBD?
GOSTEI 0
Deivison Melo

Deivison Melo

11/11/2013

T-SQL é a extensão de SQL do MS SQL SERVER.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

11/11/2013

desculpe, escrevi de forma erronea. isso seria a base do codigo sql de todos os bancos?
GOSTEI 0
Alex Lekao

Alex Lekao

11/11/2013

o T-SQL se nao me engano eh Microsoft, como o Deivison postou acima, do SQL Server.

agora SQL eh a estrutura de todos os bancos.

se eh que posso dizer assim... rsrsr
GOSTEI 0
POSTAR