tb_amigos(id_amigos,id_usuarios)
select id_usuarios where id_amigos . retorna os meus amigos blz
esse retorna quem me add
select distinct * from tb_amigos A
inner join tb_usuario U on A.id_amigos = U.id_usuario
where A.id_usuario =1
eu qro uma lista final com quem me add e eu nao add ainda!!!
Amigo creio que desse jeito vai te auxiliar
select
distinct *,
U.id_amigos
from tb_usuario A
inner join tb_amigos U on U.id_amigos = A.id_usuario
where A.id_usuario =1
Creio que com o comando acima vai conseguir listar todos os amigos relacionado a esse usuário.
nesse ai retornaria somento o user =1
seria juntar esse dois selects mais nao to sabendo
select distinct * from tb_amigos A
inner join tb_usuario U on A.id_amigos = U.id_usuario
where A.id_usuario =1
=========================================
retorna isso
2;"bibiana5.0@hotmail.com"
16;"brunopiazentim@gmail.com"
========================================
so que esse com id=2 eu ja adicionei como no retorno abaixo, ai quro q o select nao mostre quem eu ja add
select DISTINCT A.id_usuario,A.email from tb_usuario A
inner join tb_amigos U on U.id_usuario = A.id_usuario
where U.id_amigos = 1
12;"teste@gmail.com"
8;"bibianarocha@hotmail.com"
9;"bibianasilva@hotmail.com"
7;"celsolemos@hotmail.com"
2;"bibiana5.0@hotmail.com"
13;"andre@gmail.com"
15;"danilo@programa.com"
Amigo, olha como eu não sei a estrutura e ligação que existe nas tabelas o que posso aconselhar a fazer e eu já utilizei esse comando por diversas vezes é a instrução de negação.
Ao invés de passar o seu where campo = 1 você poderia passar o seu where campo not in 1.
Esse tipo de comando utilizo no banco de dados firebird, pode ser que para outros bancos sejam diferentes.
O que esse comando irá fazer é trazer todos os registros que não conterem o código especifico.
espero ter ajudado.
Experimente utilizar o comando union
junte seus select , porém ambos devem ter a mesma estrutura
Select NNN from table
union
select NNN from table
Veja se te ajuda …abs
Vaiii corinthiansss
entao cara nao consegui deu erro mais acho q num seria, esse union junta os dois?? se for num e , seria isso aki
select distinct * from tb_amigos A
inner join tb_usuario U on A.id_amigos = U.id_usuario
where A.id_usuario =1
=========================================
retorna isso
2;"bibiana5.0@hotmail.com"
16;"brunopiazentim@gmail.com"
========================================
so que esse com id=2 eu ja adicionei como no retorno abaixo, ai quro q o select nao mostre quem eu ja add
select DISTINCT A.id_usuario,A.email from tb_usuario A
inner join tb_amigos U on U.id_usuario = A.id_usuario
where U.id_amigos = 1
12;"teste@gmail.com"
8;"bibianarocha@hotmail.com"
9;"bibianasilva@hotmail.com"
7;"celsolemos@hotmail.com"
2;"bibiana5.0@hotmail.com"
13;"andre@gmail.com"
15;"danilo@programa.com"
o resultando que qro é 16;"brunopiazentim@gmail.com" pois eu nao add esse cara ainda como amigo somente ele me add
Tenta fazer a primeira consulta menos a segunda.
Se quiser um exemplo:
http://www.1keydata.com/pt/sql/sql-minus.php
putz cara tá dificil entender o que vc quer fazer de fato …
mande o modelo destas 02 tabelas … porque acho que a forma como você modelou tá complicado … de entender a sua necessidade …
foi mal a explicacao e que estava com pressa
mas vlw rogeriopaguilar, usei o que vc mandou e deu certo!!!
select distinct U.id_usuario,email from tb_amigos A
inner join tb_usuario U on A.id_amigos = U.id_usuario
where A.id_usuario =1
EXCEPT
select DISTINCT A.id_usuario,A.email from tb_usuario A
inner join tb_amigos U on U.id_usuario = A.id_usuario
where U.id_amigos = 1
o importante é que deu certo …feche o tópico como Resolvido …valeu…