Fórum Duvida comando Select #270104
25/02/2005
0
tenho 1 banco de dados em interbase com as seguintes tabelas e campos:
Tabela Usuarios
id - integer
nome - char(30)
Tabela Dependentes
id - integer
id_ususario - integer
nome - char(30)
Preciso fazer uma consulta dessa maneira : mostrar todos os usuarios e os dependentes deste usuario:
estou usando o comando (exemplo para id = 1 ):
SELECT * FROM USUARIOS,DEPENDENTES WHERE USUARIOS.ID = 1 AND DEPENDENTES.ID_USUARIO = 1
Quando a tabela possui dependentes para este usuario 1 , o comando retorna o que eu quero.
O problema que eu estou encontrando, é quando um usuário não possui dependentes, dai o comando select não retorna nada
Eu queria que quando o usuário não possuisse dependentes, mostrar pelo menos os dados do usuário.
É que o meu sistema imprime um relatório da seguinte maneira :
usuario
_____________
dependente 1
dependente 2
etc...
e eu queria que saisse pelo menos o usuario no relatório quando não tivesse dependentes
Atenciosamente
Marcio Nardo
Mnardo
Curtir tópico
+ 0Posts
25/02/2005
Delphi32
SELECT T1.NOME, T2.NOME FROM USUARIOS T1 LEFT JOIN DEPENDENTES T2 ON T1.ID=T2.ID_USUARIO
acho q eh isso. Até!
Gostei + 0
25/02/2005
Diogoalles
http://forum.clubedelphi.net/viewtopic.php?t=58222&highlight=outer
o select do delphi32 esta com sintaxe incorreta
abraço
Diogo
Gostei + 0
25/02/2005
Mnardo
seria isso :
SELECT USUARIOS,DEPENDENTES FROM USUARIOS LEFT OUTER JOIN
DEPENDENTES ON (DEPENDENTES.ID_USUARIO = 1 ) === PARA ID = 1
?
Atencisamente
Gostei + 0
25/02/2005
Paulo_amorim
Não achei onde está o erro dele
A parte de Join você faz assim como estava escrito lá... a sua condição (id=1) você só coloca no WHERE
SELECT * FROM usuarios u LEFT JOIN dependentes d ON u.id = d.id_usuario WHERE u.id = 1
Espero que ajude
Até+
Gostei + 0
25/02/2005
Fred
INNER JOIN USUARIOS U ON (U.ID = D.ID_USUARIO)
WHERE U.ID = 1
Gostei + 0
25/02/2005
Paulo_amorim
Usando inner join ele não terá o resultado esperado, pois como não haverá um dependente ele não achará um correspondente na tabela e o registro não aparece
Gostei + 0
25/02/2005
Mnardo
deu certinho. com o tempo eu vou pegando o jeito da sintaxe SQL.
Abraços
Marcio
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)