Ir para conteúdo

POWERED BY:

Arquivado

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

Rafael Santiago

Problema com select

Recommended Posts

Pessoal,

 

Estou precisando fazer um select e não sei como fazer, vejam se podem me ajudar.

 

Tenho as 2 tabelas abaixo (tenho também a tabela de usuários, mas não vem ao caso):

 

FILMES

fil_id

fil_nome

 

VISTO

vis_id

fil_id

usu_id

 

O que eu preciso é listar todos os filmes, mas preciso saber se um certo usuario já viu este filme.

Independente se o filme foi visto ou não deve ser listado. seria algo assim

 

fil_id = 1

fil_nome = Matrix

usu_id = 5

visto = S

 

fil_id = 1

fil_nome = Matrix 2

usu_id = 5

visto = N

 

fil_id = 1

fil_nome = Matrix 3

usu_id = 5

visto = N

 

 

Se puderem ajudar ficaria grato.

 

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz...dá uma olhada nesta query:

SELECT A.*,B.usu_id,B.usu_nome,IF(C.vis_id IS NULL,'Não','Sim') AS vistoFROM filmes A, usuario B LEFT JOIN visto C ON C.fil_id = A.fil_id AND B.usu_id = C.usu_idORDER BY fil_nome,usu_nome

É simples, um select da tabela de filmes, como não estamos ligando filmes ao usuário, então todos os filmes serão listados p/ cada 1 usuário.Depois, utilizamos o usuário com LEFT JOIN no visto, ou seja, se não há referencia do usuário na tabela visto com o filme então o nome do usuário DEVE ser apresentado. Resumindo: tendo ou não usuário no visto, o nome e o id dele será exibido.E por fim, utilizamos um IF na lista de campos para apresentar o sim ou não do visto no filme.Faz uns testes ae e diz se é +/- o que está precisando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cassitos,Sua query não funcionou 100%, mas consegui tirar a idéia do Left Join que estava meio confusso p/ mim.Consegui fazer o que eu queria

Select a.fil_id, a.fil_nome, c.usu_idfrom filmes aLEFT JOIN visto c ON c.fil_id = a.fil_id and c.usu_id = 1

Valeu pela ajuda !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu axo q não entendi a complicação, isso aqui não adianta?select filmes.*, visto.* from filmes, visto where filmes.fil_id=visto.fil_id GROUP BY filmes.usu_idbom espero q nessa tabela visto você guarde tipo a situcao ali neh S e N

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.