CASE

23/03/2005 - 11:46 por Racsus | Informe spam
Hola

Tengo en la siguiente sentencia sql lo siguiente:

ACTIV = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE <> ''
THEN AVISOS_TODOS.AVI_ACTIVIDAD WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD ELSE
ALMSAL_ACTIVIDAD END

el problema es que cuando meto un WHERE ACTIV = ...

me dice que la columna ACTIV no existe. como puedo filtrar
con columnas CASE?

Saludos, Oscar

Preguntas similare

Leer las respuestas

#1 Nuno Santos
23/03/2005 - 12:36 | Informe spam
La coluna ACTIV es un alias de una coluna de la tabla, deves utilizar la
coluna que está en el case y no su alias


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Racsus" wrote in message
news:0b3201c52f95$9c4dbca0$
Hola

Tengo en la siguiente sentencia sql lo siguiente:

ACTIV = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE <> ''
THEN AVISOS_TODOS.AVI_ACTIVIDAD WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD ELSE
ALMSAL_ACTIVIDAD END

el problema es que cuando meto un WHERE ACTIV = ...

me dice que la columna ACTIV no existe. como puedo filtrar
con columnas CASE?

Saludos, Oscar
Respuesta Responder a este mensaje
#2 Racsus
23/03/2005 - 12:37 | Informe spam
eL PROBLEMA es que quiero que los 3 resultado tengan el
mismo nombre, intengo poner un AS ACTIV, pero no me deja.

Como puedo hacer para que con un solo nombre pueda
referencia a cualquier de los 3 resultados del case?

Saludos, Oscar

La coluna ACTIV es un alias de una coluna de la tabla,


deves utilizar la
coluna que está en el case y no su alias


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Racsus" wrote in


message
news:0b3201c52f95$9c4dbca0$
Hola

Tengo en la siguiente sentencia sql lo siguiente:

ACTIV = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE <> ''
THEN AVISOS_TODOS.AVI_ACTIVIDAD WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD ELSE
ALMSAL_ACTIVIDAD END

el problema es que cuando meto un WHERE ACTIV = ...

me dice que la columna ACTIV no existe. como puedo




filtrar
con columnas CASE?

Saludos, Oscar




.

Respuesta Responder a este mensaje
#3 Carlos Sacristán
23/03/2005 - 13:05 | Informe spam
Tienes que volver a repetir ese CASE en la cláusula WHERE


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Racsus" escribió en el mensaje
news:04a801c52f9c$ac1afa60$
eL PROBLEMA es que quiero que los 3 resultado tengan el
mismo nombre, intengo poner un AS ACTIV, pero no me deja.

Como puedo hacer para que con un solo nombre pueda
referencia a cualquier de los 3 resultados del case?

Saludos, Oscar

La coluna ACTIV es un alias de una coluna de la tabla,


deves utilizar la
coluna que está en el case y no su alias


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Racsus" wrote in


message
news:0b3201c52f95$9c4dbca0$
Hola

Tengo en la siguiente sentencia sql lo siguiente:

ACTIV = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE <> ''
THEN AVISOS_TODOS.AVI_ACTIVIDAD WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD ELSE
ALMSAL_ACTIVIDAD END

el problema es que cuando meto un WHERE ACTIV = ...

me dice que la columna ACTIV no existe. como puedo




filtrar
con columnas CASE?

Saludos, Oscar




.

Respuesta Responder a este mensaje
#4 Racsus
23/03/2005 - 13:11 | Informe spam
Hola

no habria una forma de hacerlo sin tener que volver a
poner el case en la clausula where?

saludos, oscar

Tienes que volver a repetir ese CASE en la cláusula


WHERE


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Racsus" escribió


en el mensaje
news:04a801c52f9c$ac1afa60$
eL PROBLEMA es que quiero que los 3 resultado tengan el
mismo nombre, intengo poner un AS ACTIV, pero no me deja.

Como puedo hacer para que con un solo nombre pueda
referencia a cualquier de los 3 resultados del case?

Saludos, Oscar

La coluna ACTIV es un alias de una coluna de la tabla,


deves utilizar la
coluna que está en el case y no su alias


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Racsus" wrote in


message
news:0b3201c52f95$9c4dbca0$
Hola

Tengo en la siguiente sentencia sql lo siguiente:

ACTIV = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE <> ''
THEN AVISOS_TODOS.AVI_ACTIVIDAD WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD ELSE
ALMSAL_ACTIVIDAD END

el problema es que cuando meto un WHERE ACTIV = ...

me dice que la columna ACTIV no existe. como puedo




filtrar
con columnas CASE?

Saludos, Oscar




.





.

Respuesta Responder a este mensaje
#5 Racsus
23/03/2005 - 13:13 | Informe spam
Hola

he puesto lo siguiente:

AND (ACTIVIDAD = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE
<> '' THEN AVISOS_TODOS.AVI_ACTIVIDAD = '00' WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD = '00' ELSE
ALMSAL_ACTIVIDAD = '00' END)

y me da el siguiente error:

Server: Msg 170, Level 15, State 1, Line 3
Line 3: Incorrect syntax near '='.

En cualquier caso preferiria que pudiera asignar un nombre
a toda la clausula CASE y poder filtrar por ese nombre.
Saludos, Oscar
Tienes que volver a repetir ese CASE en la cláusula


WHERE


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Racsus" escribió


en el mensaje
news:04a801c52f9c$ac1afa60$
eL PROBLEMA es que quiero que los 3 resultado tengan el
mismo nombre, intengo poner un AS ACTIV, pero no me deja.

Como puedo hacer para que con un solo nombre pueda
referencia a cualquier de los 3 resultados del case?

Saludos, Oscar

La coluna ACTIV es un alias de una coluna de la tabla,


deves utilizar la
coluna que está en el case y no su alias


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Racsus" wrote in


message
news:0b3201c52f95$9c4dbca0$
Hola

Tengo en la siguiente sentencia sql lo siguiente:

ACTIV = CASE WHEN ALM_MOVIMIENTOS.ALMMOV_CODPARTE <> ''
THEN AVISOS_TODOS.AVI_ACTIVIDAD WHEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD <> '' THEN
ALM_MOVIMIENTOS.ALMMOV_ALMACEN_ACTIVIDAD ELSE
ALMSAL_ACTIVIDAD END

el problema es que cuando meto un WHERE ACTIV = ...

me dice que la columna ACTIV no existe. como puedo




filtrar
con columnas CASE?

Saludos, Oscar




.





.

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