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 

[Resolvido]prioridade no primeiro campo da pesquisa

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


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Sex Abr 03, 2020 11:23 am    Assunto: [Resolvido]prioridade no primeiro campo da pesquisa Responder com Citação

Pessoal tem essa consulta que quero fazer, veja

select first 1 * from tabela

where (CODIGO = :CODIGO) or CODBARRA = :CODBARRA

só que eu queria que o campo CODIGO fosse a prioridade e sempre ele pegar a prioridade no campo CODBARRA eu queria por exemplo fosse o codigo de um determinado 000362 é cimento e o codigobarra da dobradisse é 000362 pois ele tra trazendo sempre dobradisse, queria que obedece primeiro o código


Editado pela última vez por nildglan em Sex Abr 03, 2020 12:10 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


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

MensagemEnviada: Sex Abr 03, 2020 12:00 pm    Assunto: Responder com Citação

Bom dia,

Seguem 2 sugestões para testes:

Código:
with CTE_Union as
(
    select *, 1 as Prioridade
    from tabela
    where CODIGO = :CODIGO

    union all

    select *, 2
    from tabela
    where CODBARRA = :CODBARRA
)

select first 1 *
from CTE_Union
order by Prioridade


Código:
select first 1 *
from tabela
where CODIGO = :CODIGO or CODBARRA = :CODBARRA
order by case when CODIGO = :CODIGO then 1 else 2 end


Se houver um índice na tabela com o campo Codigo e outro com o campo CodBarra, é provável que a primeira versão tenha um desempenho melhor.

Espero que ajude


Editado pela última vez por imex em Qui Set 16, 2021 8:54 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Sex Abr 03, 2020 12:06 pm    Assunto: Responder com Citação

vc é o cara imex, usei a segunda
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
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