Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 09, 2018 4:45 pm Assunto: |
|
|
O Left Join foi utilizado porque você quer que a query retorne os clientes sem movimento. Com ele os dados da tabela Clientes são retornados mesmo que não existam registros na tabela Movimentoam para o cliente.
Espero que ajude |
|
Voltar ao Topo |
|
|
grsoft Aprendiz
Registrado: Segunda-Feira, 10 de Abril de 2006 Mensagens: 107
|
Enviada: Sex Mar 09, 2018 7:08 pm Assunto: |
|
|
eu perguntei pq antes da última sql, mesmo com o left join, ele não mostrava os clientes sem movimentação, agora, depois da nova sql, ele mostra tudo mesmo com o inner join.
imex escreveu: | O Left Join foi utilizado porque você quer que a query retorne os clientes sem movimento. Com ele os dados da tabela Clientes são retornados mesmo que não existam registros na tabela Movimentoam para o cliente.
Espero que ajude |
|
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 09, 2018 8:20 pm Assunto: |
|
|
Não tenho nenhuma experiência com o MySQL mas acho que os clientes sem movimento só deveriam ser retornados nas versões com o Left Join, tanto na versão abaixo:
Código: | left join Movimentoam as m
on m.CodCli = c.Cod
where
m.DATAHORACONCLUSAO between '2018-01-01' and '2018-01-31') or (m.DATAHORACONCLUSAO is null)
group by c.Cod |
como na versão abaixo:
Código: | left join Movimentoam as m
on m.CodCli = c.Cod and
m.DATAHORACONCLUSAO between '2018-01-01' and '2018-01-31' |
E acho que com o Inner Join deveriam ser retornados somente os clientes com movimento.
Isso tudo para ficar de acordo com o padrão da linguagem SQL. |
|
Voltar ao Topo |
|
|
|