Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Campo Calculado

12 views
Skip to first unread message

José A. Giménez [ Py ] arroba punto

unread,
Nov 7, 2009, 1:56:26 PM11/7/09
to
Saludos a todos. En un procedimiento almacenado hago varias comparaciones
para obtener un campo calculado.
Resulta que necesito calcular otro campo usando ese campo calculado, pero al
colocarlo en el c�digo me dice que el nombre dela columna no se reconoce.
Necesito hacer esto:


CampoCalculado1 * CampodetablaC AS CampoCalculado2

Mi CampoCalculado1 resulta de varios c�lculos y case anidados


C�mo puedo hacerlo?

GRACIAS!

Carlos M. Calvelo

unread,
Nov 7, 2009, 1:17:40 PM11/7/09
to
Hola José,

On 7 nov, 19:56, José A. Giménez [Py] <gimenezj(arroba)hotmail(punto)


com> wrote:
> Saludos a todos. En un procedimiento almacenado hago varias comparaciones
> para obtener un campo calculado.
> Resulta que necesito calcular otro campo usando ese campo calculado, pero al

> colocarlo en el código me dice que el nombre dela columna no se reconoce.


> Necesito hacer esto:
>
> CampoCalculado1 * CampodetablaC AS CampoCalculado2
>

> Mi CampoCalculado1 resulta de varios cálculos y  case anidados
>
> Cómo puedo hacerlo?
>
> GRACIAS!

Creo que vas a tener que dar mas detalles.
Mira este ejemplo donde si funciona:

declare @T table(
Campo1 int,
Campo2 int,
Campo3 int,
CampoCalculado1 as Campo1 + Campo2
)

insert into @T (Campo1, Campo2, Campo3)
select 1,2,3
union select 4,5,6
union select 7,8,9

select *,
CampoCalculado1 * Campo3 as CampoCalculado2
from @T

Saludos,
Carlos

Maxi Accotto

unread,
Nov 7, 2009, 2:22:18 PM11/7/09
to
Hola, eso no es un campo calculado, es un alias calculada, un campo
calculado reside en la tabla, o sea si no quieres volver a escribirlo para
reutilizarlo debes hacerlo a nivel tabla con un campo calculado, sino
deberias reescribir el campo en tu query tantas veces lo necesites o bien
materializar la consulta en una tabla derivada

--

------------------------------------------------
Maxi Accotto
MVP en SQL Server
http://blog.maxiaccotto.com
--------------------------------------------------

"Jos� A. Gim�nez [Py]" <gimenezj(arroba)hotmail(punto)com> wrote in message
news:e37pAP9X...@TK2MSFTNGP02.phx.gbl...

José A. Giménez [ Py ] arroba punto

unread,
Nov 7, 2009, 8:07:54 PM11/7/09
to
Gracias por las respuestas, opte por reescribir el calculo del campo otra
vez para obtener el segundo campo calculado.
Me llama la atenci�n que no se pueda usar un alias en operaciones, en Access
pod�a hacerlo sin problemas.
Gracias nuevamente

Carlos M. Calvelo

unread,
Nov 7, 2009, 7:50:12 PM11/7/09
to
Hola José,

On 8 nov, 02:07, José A. Giménez [Py] <gimenezj(arroba)hotmail(punto)


com> wrote:
> Gracias por las respuestas, opte por reescribir el calculo del campo otra
> vez para obtener el segundo campo calculado.

> Me llama la atención que no se pueda usar un alias en operaciones, en Access
> podía hacerlo sin problemas.
> Gracias nuevamente

A ver si te estoy entendiendo ahora.

Se puede hacer con subconsultas. Por ejemplo:

select
--aquí puedes utilizar la columna C3
--todas las veces que quieras
from
(select Campo1 as C1,
Campo2 as C2,
Campo1 + Campo2 as C3
from tabla
) T
where
-- y aqui también

group by
- y aquí

<etc.>

Vamos, que el resultado de la subconsunta es la tabla 'T' con
columnas C1, C2 y C3. C3 se puede reutilizar en la consulta
'exterior' todo lo que quieras (al igual que C1 y C2) aunque
la expresion Campo1 + Campo3 solo se ha escrito una vez.

Es eso lo que buscas?

Saludos,
Carlos

José A. Giménez [ Py ] arroba punto

unread,
Nov 9, 2009, 9:45:54 AM11/9/09
to
Si, gracias eso es lo buscaba, tener un alias que resulta de un calculo de
los campos de la tabla y poder usar ese mismo alias para hacer m�s c�lculos
con los otros campos de mi tabla.

0 new messages