Ir para conteúdo

POWERED BY:

Arquivado

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

Leres

consulta sql

Recommended Posts

Galera, to fazendo uma consulta INNER JOIN como essa a seguir:

 

Minhas tabelas:

t1(id,recurso,dia,etc...)

t2(codusuario,nome,email,login,etc...)

t3(nome,tipo,info,etc...)

 

 

Consulta:

SELECT t1.id, t1.recurso, t1.dia, t2.nome, t2.email 
FROM t1 INNER JOIN t2 where t1.id = t2.codusuario

 

Eu gostaria que a consulta acima filtrasse apenas os recursos do tipo X, sendo que t1.recurso e t3.nome são as minhas "chaves estrangeiras" neste caso.

 

alguém tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode aplicar isso no WHERE ..

SELECT t1.id, t1.recurso, t1.dia, t2.nome, t2.email 
FROM t1 INNER JOIN t2 WHERE t1.id = t2.codusuario AND t1.recurso = 'X'

 

Dica: não use t1, t2, t3, t4 para distinguir nomes de tabelas na query, isso vai acabar te confundindo, e prejudica a interpretação da sql.

 

Eu modificaria sua query para:

SELECT recursos.id , recursos.recurso , recursos.dia , usuario.nome , usuario.email FROM recursos INNER JOIN usuarios ON usuarios.codusuario = recursos.id WHERE recursos.recurso = 'X'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode aplicar isso no WHERE ..

SELECT t1.id, t1.recurso, t1.dia, t2.nome, t2.email 
FROM t1 INNER JOIN t2 WHERE t1.id = t2.codusuario AND t1.recurso = 'X'

 

Dica: não use t1, t2, t3, t4 para distinguir nomes de tabelas na query, isso vai acabar te confundindo, e prejudica a interpretação da sql.

 

Eu modificaria sua query para:

SELECT recursos.id , recursos.recurso , recursos.dia , usuario.nome , usuario.email FROM recursos INNER JOIN usuarios ON usuarios.codusuario = recursos.id WHERE recursos.recurso = 'X'

 

Eu usei t1,t2,t3 só pra elaborar a pergunta...

estou usando outros nomes....

 

Essa dica sua não soluciona o problema.

A informação a ser filtrada é o tipo= 'X' da tabela t3 que não aparece nas cláusulas anteriores.

A consulta:

SELECT t1.id, t1.recurso, t1.dia, t2.nome, t2.email

FROM t1 INNER JOIN t2 WHERE t1.id = t2.codusuario

 

Me devolve todos os resultados e eu quero filtrar os resultados que são do tipo = 'X'

e a relação entre o resultado e tabela t3 é t1.recurso e t3.recurso que quero que seja filtrado pelo t3.tipo='x'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, a sua explicação ta bem confusa... O atributo "X", pelo que entendi, está armazenado na t3.

 

Caso sim, você só precisa realizar o join nessa tabela.

 

Caso não, explica melhor.

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.