Quiero hacer una multiplicacion y division con alias.

17/08/2006 - 09:49 por rabocop | Informe spam
Mira esto es lo que quiero hacer pero no me deja y no lo puedo hacer por
codigo tiene k ser x sql, lo hecho con subconsultas pero sigue fallando, no
me deja nidividir ni multiplicar los alias.

SELECT USR_USUARIO.USR_CODIGO AS [Nº], USR_USUARIO.USR_Nombre + ' ' +
USR_USUARIO.USR_Apellidos AS Empleado,
CAT_CONCEPTO.CAT_TIPO AS Tipo,
COUNT(LIN_CONCEPTO.LIN_Importe) * 1 AS resultado
FROM HG_HOJA INNER JOIN
LIN_CONCEPTO ON HG_HOJA.HG_NReferencia =
LIN_CONCEPTO.HG_NREF_ACTUAL INNER JOIN
GRP_CAT_SUP ON LIN_CONCEPTO.GCS_ID =
GRP_CAT_SUP.GCS_ID INNER JOIN
CAT_CONCEPTO ON GRP_CAT_SUP.CAT_CODIGO =
CAT_CONCEPTO.CAT_CODIGO INNER JOIN
USR_USUARIO ON HG_HOJA.USR_ID = USR_USUARIO.USR_ID
WHERE ( resultado IN
(SELECT resultado / 2 AS resultado2
FROM LIN_CONCEPTO
WHERE resultado2 IN
(SELECT
resultado2 * resultado AS retencion
FROM
LIN_CONCEPTO)))
GROUP BY USR_USUARIO.USR_CODIGO, USR_USUARIO.USR_Nombre,
USR_USUARIO.USR_Apellidos, CAT_CONCEPTO.CAT_TIPO
 

Leer las respuestas

#1 Salvador Ramos
17/08/2006 - 11:54 | Informe spam
Hola,

En una sub-select de nivel inferior no puedes utilizar alias de un nivel
superior.

Tampoco puedes en T-SQL hacer cosas como:

select UnitPrice * Quantity as resul

from [Order Details]

where UnitPrice * Quantity > 100


select UnitPrice * Quantity as resul

from [Order Details]

where resul > 100

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)



"rabocop" escribió en el mensaje
news:
Mira esto es lo que quiero hacer pero no me deja y no lo puedo hacer por
codigo tiene k ser x sql, lo hecho con subconsultas pero sigue fallando,
no
me deja nidividir ni multiplicar los alias.

SELECT USR_USUARIO.USR_CODIGO AS [Nº], USR_USUARIO.USR_Nombre + ' ' +
USR_USUARIO.USR_Apellidos AS Empleado,
CAT_CONCEPTO.CAT_TIPO AS Tipo,
COUNT(LIN_CONCEPTO.LIN_Importe) * 1 AS resultado
FROM HG_HOJA INNER JOIN
LIN_CONCEPTO ON HG_HOJA.HG_NReferencia > LIN_CONCEPTO.HG_NREF_ACTUAL INNER JOIN
GRP_CAT_SUP ON LIN_CONCEPTO.GCS_ID > GRP_CAT_SUP.GCS_ID INNER JOIN
CAT_CONCEPTO ON GRP_CAT_SUP.CAT_CODIGO > CAT_CONCEPTO.CAT_CODIGO INNER JOIN
USR_USUARIO ON HG_HOJA.USR_ID = USR_USUARIO.USR_ID
WHERE ( resultado IN
(SELECT resultado / 2 AS resultado2
FROM LIN_CONCEPTO
WHERE resultado2 IN
(SELECT
resultado2 * resultado AS retencion
FROM
LIN_CONCEPTO)))
GROUP BY USR_USUARIO.USR_CODIGO, USR_USUARIO.USR_Nombre,
USR_USUARIO.USR_Apellidos, CAT_CONCEPTO.CAT_TIPO

Preguntas similares