Ir para conteúdo

Arquivado

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

FabianoSouza

Usar alias em cláusula WHERE

Recommended Posts

Preciso fazer busca (usando o WHERE) em colunas que atribui um alias.

Qual a forma correta de fazer isso?

SELECT
NomeCandProdSel AS Nome
FROM  
minhaTab 
WHERE 
Nome LIKE  '%'+ @nomeCandidato + '%'

Essa estrutura não funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select nome

From

(

SELECT NomeCandProdSel AS Nome

FROM minhaTab

) virtual

WHERE Nome LIKE '%'+ @nomeCandidato + '%'

 

Mais simples usar o nome da coluna sem tabela virtual.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select nome

From

(

SELECT NomeCandProdSel AS Nome

FROM minhaTab

) virtual

WHERE Nome LIKE '%'+ @nomeCandidato + '%'

 

Mais simples usar o nome da coluna sem tabela virtual.

Show!! Muito obrigado.

Eu uso o nome das colunas para exibir na aplicação, então recorro ao alias

para exibir nomes mais amigáveis, como "Data de cadastramento", ao invés de DataCad, por exemplo.

 

Uma dúvida. Pra que serve a palavra "virtual"?

Notei que pode ser qualquer palavra no lugar dele. Qual a finalidade?

Compartilhar este post


Link para o post
Compartilhar em outros sites

AH, notei também que só aparece o campo que está definido na primeira SELECT (Nome, no caso).

Como carrego mais campos? Preciso de campos que estarão na subconsulta (que não postei no exemplo).

 

Dá erro se eu simplesmente adicionar mais campos à primeira SELECT

Compartilhar este post


Link para o post
Compartilhar em outros sites

AH, notei também que só aparece o campo que está definido na primeira SELECT (Nome, no caso).

Como carrego mais campos? Preciso de campos que estarão na subconsulta (que não postei no exemplo).

 

Dá erro se eu simplesmente adicionar mais campos à primeira SELECT

 

Opa, resolvido.

 

Bastou fazer isso na SELECT principal

SELECT * FROM...

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.