referenciar alias en where

15/03/2007 - 18:00 por etragu | Informe spam
buenas
alguien sabe si existe alguna manera de referenciar un alias en el where,
seria algo asi

select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558') and importe <> importecorrecto

gracias

Preguntas similare

Leer las respuestas

#1 Maxi
15/03/2007 - 18:30 | Informe spam
No es permitido hacer eso, debes volver a poner la condicion


select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558') and importe <>
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end

Salu2

Microsoft MVP SQL Server
Culminis Speaker

"etragu" <Nando> escribió en el mensaje
news:
buenas
alguien sabe si existe alguna manera de referenciar un alias en el where,
seria algo asi

select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558') and importe <> importecorrecto

gracias


Respuesta Responder a este mensaje
#2 DNC
15/03/2007 - 18:32 | Informe spam
nop!!
lo mas simple: reemplaza el alias del where por el case.
tambien podria ser

where origen = 'ANS' AND PERIODO = '200611'
and (
(cod_aporte '322559' and importe = 11)
or
(cod_aporte '358627' and importe = 2.5)
or
(cod_aporte '359627' and importe = 10)
or
(cod_aporte '326558' and importe = 31.18)
)

saludos!
diego.-


On 15 mar, 14:00, "etragu" <Nando> wrote:
buenas
alguien sabe si existe alguna manera de referenciar un alias en el where,
seria algo asi

select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558') and importe <> importecorrecto

gracias
Respuesta Responder a este mensaje
#3 Carlos M. Calvelo
16/03/2007 - 12:05 | Informe spam
On 15 mrt, 18:00, "etragu" <Nando> wrote:
buenas
alguien sabe si existe alguna manera de referenciar un alias en el where,
seria algo asi

select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558') and importe <> importecorrecto

gracias



Hola,

'Referenciar un alias' no; pero si puedes evitar la repetición del
case.

Por ejemplo así:

select * from (
select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558')
) t
where t.importe <> t.importecorrecto

Saludos,
Carlos
Respuesta Responder a este mensaje
#4 Jose Mariano Alvarez
16/03/2007 - 13:01 | Informe spam
La referencia la puedes usar en 2005 pero no en 2000.




Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)




"Carlos M. Calvelo" wrote in message
news:
On 15 mrt, 18:00, "etragu" <Nando> wrote:
buenas
alguien sabe si existe alguna manera de referenciar un alias en el where,
seria algo asi

select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558') and importe <> importecorrecto

gracias



Hola,

'Referenciar un alias' no; pero si puedes evitar la repetición del
case.

Por ejemplo así:

select * from (
select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558')
) t
where t.importe <> t.importecorrecto

Saludos,
Carlos
Respuesta Responder a este mensaje
#5 Carlos M. Calvelo
16/03/2007 - 14:00 | Informe spam
On 16 mrt, 13:01, "Jose Mariano Alvarez"
wrote:
La referencia la puedes usar en 2005 pero no en 2000.




Hola Jose,

No entiendo qué quieres decir.
El ejemplo sí se puede usar en 2000.
Y qué es lo que si puedes usar en 2005 y no en 2000?
El ejemplo original de etragu?

Saludos,
Carlos


Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)

"Carlos M. Calvelo" wrote in messagenews:
On 15 mrt, 18:00, "etragu" <Nando> wrote:





> buenas
> alguien sabe si existe alguna manera de referenciar un alias en el where,
> seria algo asi

> select *,
> case cod_aporte
> when '322559' then 11
> when '358627' then 2.5
> when '359627' then 10
> when '326558' then 31.18
> else 0
> end as importecorrecto
> from recepcion
> where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
> in ('322559','358627','359627','326558') and importe <> importecorrecto

> gracias

Hola,

'Referenciar un alias' no; pero si puedes evitar la repetición del
case.

Por ejemplo así:

select * from (
select *,
case cod_aporte
when '322559' then 11
when '358627' then 2.5
when '359627' then 10
when '326558' then 31.18
else 0
end as importecorrecto
from recepcion
where origen = 'ANS' AND PERIODO = '200611' and cod_aporte
in ('322559','358627','359627','326558')
) t
where t.importe <> t.importecorrecto

Saludos,
Carlos

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida