Hum... interessante :) Valeu pelos esclarecimentos
Marcelo Silva ----------------------------------------- -----Mensagem Original----- From: Tiago Adami Sent: Friday, August 31, 2012 10:29 PM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Apelido X Where Em 31 de agosto de 2012 22:06, Euler Taveira <[email protected]> escreveu: (corte) > Não. Porque do ponto de vista da execução, a consulta acima não faz o > menor > sentido. A ordem natural das coisas diz que primeiro os dados são > filtrados > pelas condições informadas na cláusula WHERE e *depois* eles são > projetados > (aka as colunas são escolhidas); trocando em miúdos, "CampoC" não existe > ao > ser executada a condição informada na cláusula WHERE. E não faz sentido mesmo. Este tipo de truque existe em outros SGBDs gambiarrentos - no ponto de vista da implementação SQL. Querem facilitar mas na verdade acabam transformando o código SQL em uma grande torre de Babel com suas "extensões". Seu problema pode ser resolvido de duas formas: 1) SELECT table_alias.CampoC FROM ( Select (CampoA + CampoB) as CampoC From Tabela ) table_alias WHERE table_alias.CampoC = XValor Onde "table_alias" é o nome que você quiser. Bem, nem tanto... há limites (não ter espaços, não começar com números, não ser uma palavra reservada do PostgreSQL...) Ou simplesmente: 2) Select (CampoA + CampoB) as CampoC >From Tabela Where (CampoA + CampoB) = XValor Não sei dizer qual seria mais performática, mas eu prefiro a primeira opção. -- TIAGO J. ADAMI http://www.adamiworks.com _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
