Ir para conteúdo

POWERED BY:

Arquivado

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

fael

Relacionamento

Recommended Posts

Pessoal,

 

Vou perguntar uma coisa que é bem lógica, mas eu não to conseguindo entender... Eu tenho duas tabelas e estou relacionando elas numa query, uma das tabelas é a tabela de clientes, onde tem muitos registros e a outra é uma tabela nova que estou relacionando com essa tabela de clientes. Essa tabela tem apenas um registro, só para teste, por enquanto... E a minha consulta só retorna 1 registro... A minha query está assim:

 

SELECT DISTINCT   resales.resaleCode,   resales.name,   resales.creditLimit,   targetResales.target FROM resales LEFT JOIN targetResales ON targetResales.resaleCode = resales.resaleCode WHERE resales.sallerCode=500166 AND targetResales.idTarget=10ORDER BY resales.name

Alguém sabe como eu faço para retornar todos os registros, mesmo que esses não tenham relação na outra tabela?

 

Desde já agradeço! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Um abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

Vou perguntar uma coisa que é bem lógica, mas eu não to conseguindo entender... Eu tenho duas tabelas e estou relacionando elas numa query, uma das tabelas é a tabela de clientes, onde tem muitos registros e a outra é uma tabela nova que estou relacionando com essa tabela de clientes. Essa tabela tem apenas um registro, só para teste, por enquanto... E a minha consulta só retorna 1 registro... A minha query está assim:

 

SELECT DISTINCT   resales.resaleCode,   resales.name,   resales.creditLimit,   targetResales.target FROM resales LEFT JOIN targetResales ON targetResales.resaleCode = resales.resaleCode WHERE resales.sallerCode=500166 AND targetResales.idTarget=10ORDER BY resales.name
Alguém sabe como eu faço para retornar todos os registros, mesmo que esses não tenham relação na outra tabela?

 

Desde já agradeço! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Um abraço,

Olá,

 

utilize LEFT OUTER JOIN ao invés de LEFT JOIN .

 

Exemplo (no meu sistema):

 

SELECT *

FROM LOJA_ENTRADAS RIGHT OUTER JOIN

LOJA_ENTRADAS_PRODUTO ON LOJA_ENTRADAS.FILIAL = LOJA_ENTRADAS_PRODUTO.FILIAL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo a mesma coisa... com LEFT JOIN, LEFT OUTER JOIN, RIGHT JOIN, RIGHT OUTER JOIN... Alguma outra sugestão?O problema aqui é que eu uso duas condições de tabelas diferentes na cláusula WHERE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal encontrei a solução, tem que colocar o critério dentro do relacionamento, ou seja, no left join. Segue:

 

SELECT DISTINCT   resales.resaleCode,   resales.name,   resales.creditLimit,   targetResales.target FROM resales LEFT JOIN targetResales ON targetResales.resaleCode = resales.resaleCode AND targetResales.idTarget=10WHERE resales.sallerCode=500166ORDER BY resales.name

Obrigado pela atenção de todos!

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.