ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Concatenar (RESOLVIDO)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Santinello
Novato
Novato


Registrado: Sábado, 1 de Dezembro de 2018
Mensagens: 30

MensagemEnviada: Dom Fev 17, 2019 10:15 pm    Assunto: Concatenar (RESOLVIDO) Responder com Citação

Boa noite.
Li algo aqui no forum, mas não cheguei a uma conclusão positiva.
Tenho uma Tabela 'PESSOAS'
Uma das colunas traz o codigo da função
Eu necessito de um select que traga resultados de duas funçoes

select pessoa.codigo, pessoa.nome, pessoa.nomecompleto, pessoa.placas, pessoa.celular, pessoa.cod_funcao, funcao.descricao AS FUNCAO, pessoa.celular, pessoa.cod_cidade, cidade.descricao AS CIDADE, pessoa.produto,
pessoa.mp

FROM pessoa, funcao, cidade

where pessoa.cod_funcao = funcao.codigo
AND pessoa.cod_cidade = cidade.codigo
and funcao.descricao LIKE 'MOTORISTA' or (funcao.descricao LIKE 'FORNECEDOR E PRESTADOR DE SERVIÇOS')
order BY pessoa.nome

Porem, o resultado vem em varias linhas repetidas.

Aguem pode ajudar?


Editado pela última vez por Santinello em Ter Fev 19, 2019 9:18 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Fev 18, 2019 9:45 am    Assunto: Responder com Citação

Bom dia,

Experimente fazer uns testes utilizando os parênteses para delimitar os filtros das 2 funções. Considerando também que não está sendo utilizado o coringa você pode trocar o Like por =:

Código:
and (funcao.descricao = 'MOTORISTA' or funcao.descricao = 'FORNECEDOR E PRESTADOR DE SERVIÇOS')


Não tem relação com o problema mas acredito que seja melhor utilizar a sintaxe com Join, separando nesse caso os condições para as junções dos demais filtros:

Código:
FROM pessoa
INNER JOIN funcao ON funcao.codigo = pessoa.cod_funcao
INNER JOIN cidade ON cidade.codigo = pessoa.cod_cidade
where funcao.descricao = 'MOTORISTA' or funcao.descricao = 'FORNECEDOR E PRESTADOR DE SERVIÇOS'


Espero que ajude

_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-residencial-casa
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Santinello
Novato
Novato


Registrado: Sábado, 1 de Dezembro de 2018
Mensagens: 30

MensagemEnviada: Ter Fev 19, 2019 9:15 am    Assunto: Responder com Citação

imex escreveu:
Bom dia,

Experimente fazer uns testes utilizando os parênteses para delimitar os filtros das 2 funções. Considerando também que não está sendo utilizado o coringa você pode trocar o Like por =:

Código:
and (funcao.descricao = 'MOTORISTA' or funcao.descricao = 'FORNECEDOR E PRESTADOR DE SERVIÇOS')


Não tem relação com o problema mas acredito que seja melhor utilizar a sintaxe com Join, separando nesse caso os condições para as junções dos demais filtros:

Código:
FROM pessoa
INNER JOIN funcao ON funcao.codigo = pessoa.cod_funcao
INNER JOIN cidade ON cidade.codigo = pessoa.cod_cidade
where funcao.descricao = 'MOTORISTA' or funcao.descricao = 'FORNECEDOR E PRESTADOR DE SERVIÇOS'


Espero que ajude

Bom dia Imex

Em ambos os casos, o resultado foi satisfatório.

Grato pelo apoio

_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-residencial-casa
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB