duda con campo calculado

07/10/2008 - 20:11 por Geovanny Quirós C. | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_0014_01C92875.D160DA80

Hola amigos, esto se puede hacer en Sql2005
basicamente es que calculo un campo y luego quiero usar el campo calculado en otra operacion

Select a.cnumoperac,a.cidasociad,b.cnombrecom,a.nmontoapro,a.dfechaform,

b.nsalarione * CASE a.cfrecupago WHEN '01' THEN 4 WHEN '03' THEN 2 WHEN '04' THEN 1 END as salariomes, (salariomes*0.225) as disponible



________________

Geovanny Quirós C.
Heredia, Costa Rica

=_NextPart_000_0014_01C92875.D160DA80

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=iso-8859-1>
<META content="MSHTML 6.00.6000.16705" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px"
bgColor=#ffffff leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT face=Arial size=2>Hola amigos,&nbsp;esto&nbsp;se puede hacer en
Sql2005</FONT></DIV>
<DIV><FONT face=Arial size=2>basicamente es que calculo un campo y luego quiero
usar el campo calculado en otra operacion</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff size=2>
<P>Select</FONT><FONT size=2> a</FONT><FONT color=#808080 size=2>.</FONT><FONT
size=2>cnumoperac</FONT><FONT color=#808080 size=2>,</FONT><FONT
size=2>a</FONT><FONT color=#808080 size=2>.</FONT><FONT
size=2>cidasociad</FONT><FONT color=#808080 size=2>,</FONT><FONT
size=2>b</FONT><FONT color=#808080 size=2>.</FONT><FONT
size=2>cnombrecom</FONT><FONT color=#808080 size=2>,</FONT><FONT
size=2>a</FONT><FONT color=#808080 size=2>.</FONT><FONT
size=2>nmontoapro</FONT><FONT color=#808080 size=2>,</FONT><FONT
size=2>a</FONT><FONT color=#808080 size=2>.</FONT><FONT
size=2>dfechaform</FONT><FONT color=#808080 size=2>,</P></FONT><FONT size=2>
<P>b</FONT><FONT color=#808080 size=2>.</FONT><FONT size=2>nsalarione
</FONT><FONT color=#808080 size=2>*</FONT><FONT size=2> </FONT><FONT
color=#0000ff size=2>CASE</FONT><FONT size=2> a</FONT><FONT color=#808080
size=2>.</FONT><FONT size=2>cfrecupago </FONT><FONT color=#0000ff
size=2>WHEN</FONT><FONT size=2> </FONT><FONT color=#ff0000
size=2>'01'</FONT><FONT size=2> </FONT><FONT color=#0000ff
size=2>THEN</FONT><FONT size=2> 4 </FONT><FONT color=#0000ff
size=2>WHEN</FONT><FONT size=2> </FONT><FONT color=#ff0000
size=2>'03'</FONT><FONT size=2> </FONT><FONT color=#0000ff
size=2>THEN</FONT><FONT size=2> 2 </FONT><FONT color=#0000ff
size=2>WHEN</FONT><FONT size=2> </FONT><FONT color=#ff0000
size=2>'04'</FONT><FONT size=2> </FONT><FONT color=#0000ff
size=2>THEN</FONT><FONT size=2> 1 </FONT><FONT color=#0000ff
size=2>END</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>as</FONT><FONT
size=2> salariomes</FONT><FONT color=#808080 size=2>,<FONT color=#000000>&nbsp;
(</FONT></FONT><FONT size=2>salariomes</FONT><FONT color=#808080
size=2>*</FONT><FONT size=2>0.225) </FONT><FONT color=#0000ff
size=2>as</FONT><FONT size=2> disponible </P></FONT><FONT face=Arial
size=2></DIV>
<DIV><BR>&nbsp;<BR>________________</DIV>
<DIV>&nbsp;</DIV>
<DIV>Geovanny Quirós C.<BR>Heredia, Costa Rica<BR></FONT></DIV></BODY></HTML>

=_NextPart_000_0014_01C92875.D160DA80--
 

Leer las respuestas

#1 Alejandro Mesa
07/10/2008 - 20:28 | Informe spam
Geovanny Quirós C.,

No, eso no puedes hacerlo. No se puede referenciar un alias de columna en la
misma lista donde se declara.

Puedes usar una tabla derivada o una CTE.

select
cnumoperac,
cidasociad,
cnombrecom,
nmontoapro,
dfechaform,
salariomes,
(salariomes*0.225) as disponible
from
(
tu query aqui
) as t


AMB


"Geovanny Quirós C." wrote:

Hola amigos, esto se puede hacer en Sql2005
basicamente es que calculo un campo y luego quiero usar el campo calculado en otra operacion

Select a.cnumoperac,a.cidasociad,b.cnombrecom,a.nmontoapro,a.dfechaform,

b.nsalarione * CASE a.cfrecupago WHEN '01' THEN 4 WHEN '03' THEN 2 WHEN '04' THEN 1 END as salariomes, (salariomes*0.225) as disponible



________________

Geovanny Quirós C.
Heredia, Costa Rica

Preguntas similares