[Resolvido]Dúvida em SELECT dentro do outro em MySQL

Oi preciso fazer um select aninhado em MySQL porém o que eu estou tentando não está dando certo por exemplo caso ele não encontre nenhum dado referente a aquele usuário em uma tabela então retorne o os dados do primeiro select é mais ou menos assim

SELECT * FROM teste1 WHERE (SELECT * FROM teste2 WHERE teste2.id_usuario = 0 AND teste2.id_conta!=teste1.id) NOT EXISTS
//por exemplo se a tabela teste2 não for encontrado nenhum dado então execute o primeiro select da tabela teste1

Agradeço por qualquer ajuda!!

Consegui usei NOT EXISTS na antes do 2 select ficou mais ou menos assim:

Pressuponho que você está utilizando FK entre as duas tabelas certo? E Quer listar todos os registros independente se tenha referência ou não tabela 2. Porque não utilizar usar junção de tabelas utilizando left join que retornará ambos os registros?

[quote=ederfreitas]Pressuponho que você está utilizando FK entre as duas tabelas certo? E Quer listar todos os registros independente se tenha referência ou não tabela 2. Porque não utilizar usar junção de tabelas utilizando left join que retornará ambos os registros?

http://www.luis.blog.br/left-join-e-inner-join-juncao-em-consultas-sql.aspx[/quote]

Na verdade a intenção é só retornar o registro se ele não haver no 2º SELECT

Bem, tente usar o IN no lugar do EXISTS , assim:

[quote=daveiga]Bem, tente usar o IN no lugar do EXISTS , assim:

Ns realidade, o EXISTS deverá ser bem mais eficiente que o IN. O EXISTS irá parar assim que encontrar um registo que obedeça à condição, enquanto o IN irá executar todo o select para depois comparar valores.

[quote=pmlm][quote=daveiga]Bem, tente usar o IN no lugar do EXISTS , assim:

Ns realidade, o EXISTS deverá ser bem mais eficiente que o IN. O EXISTS irá parar assim que encontrar um registo que obedeça à condição, enquanto o IN irá executar todo o select para depois comparar valores.[/quote]

vlw pela dica, então estou no caminho certo!