Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Usar un Dato calculado (https://www.clubdelphi.com/foros/showthread.php?t=59343)

jmedina 23-08-2008 01:00:51

Usar un Dato calculado
 
Buen dia Foro:

Gracias por la ayuda del otro hilo en ASP, ahora espero me puedas refrescar la memoria ya que estoy medio perdido y no me acuerdo tengo un query en la cual algunos campos sumo, multiplico, resto etc, pero pues para hacer algunas operaciones tengo que poner todo el trozo de codigo y multiplicarlo por algo o sumarle otro campo dela misma tabla o trablas, entonces lo que quiero es usar el resultado de esa operacion y hacer otra operacion con ese dato el codigo es:


Código SQL [-]SELECT T0.DOCDATE, T0.DocNum as 'No Doc', T4.CardCode As 'Codigo', T4.CardName As 'Cliente', T5.slpname As ' Emp. Ventas', T3.ItmsGrpNam, T1.ItemCode, t2.ItemName, T1.Quantity, T1.Price , T1.LineTotal as 'Total Linea',
T4.U_Publicidad as '%Publicidad',(T1.LineTotal*( T4.U_Publicidad/100)) As 'Valor Publicidad',
T4.U_Adpublicidad As '%Publicidad Adicional',(T1.LineTotal*( T4.U_Adpublicidad/100)) As 'Valor publicidad Adicional',
T4.U_ProteccionPrecio as '%Proteccion de precios',(T1.LineTotal*( T4.U_Proteccionprecio/100)) As 'Valor Proteccion de Precios',
T4.U_Rebajasxvol As '%Rebajas por Volumen',(T1.LineTotal*( T4.U_Rebajasxvol/100)) As 'Valor Rebajas por Volumen',
T4.U_Distribucion As '%Distribucion',(T1.LineTotal*( T4.U_Distribucion/100)) As 'Valor Distribucion',
T4.U_Distribucionad As '%Distribucion Adicional',(T1.LineTotal*( T4.U_Distribucionad/100)) As 'Valor Distribucion Adicional',
(T4.U_Publicidad + T4.U_AdPublicidad + T4.U_ProteccionPrecio + T4.U_Rebajasxvol + T4.U_Distribucion + T4.U_Distribucionad) As 'Σ % Descuento Comercial',
(((T4.U_Publicidad + T4.U_AdPublicidad + T4.U_ProteccionPrecio + T4.U_Rebajasxvol + T4.U_Distribucion + T4.U_Distribucionad)/100)*T1.LineTotal) As 'Total Descuento',
(T1.LineTotal-(((T4.U_Publicidad + T4.U_AdPublicidad + T4.U_ProteccionPrecio + T4.U_Rebajasxvol + T4.U_Distribucion + T4.U_Distribucionad)/100)*T1.LineTotal)) As 'Total Neto',
T1.GrossBuyPr as 'Costo Unitario', (T1.GrossBuyPr*T1.Quantity) as 'CostoVentas',
(T1.LineTotal-(T1.GrossBuyPr*T1.Quantity)-(((T4.U_Publicidad + T4.U_AdPublicidad + T4.U_ProteccionPrecio + T4.U_Rebajasxvol + T4.U_Distribucion + T4.U_Distribucionad)/100)*T1.LineTotal)) as 'Utilidad',
((T1.LineTotal-(T1.GrossBuyPr*T1.Quantity)-(((T4.U_Publicidad + T4.U_AdPublicidad + T4.U_ProteccionPrecio + T4.U_Rebajasxvol + T4.U_Distribucion + T4.U_Distribucionad)/100)*T1.LineTotal))/(T1.LineTotal-(((T4.U_Publicidad + T4.U_AdPublicidad + T4.U_ProteccionPrecio + T4.U_Rebajasxvol + T4.U_Distribucion + T4.U_Distribucionad)/100)*T1.LineTotal)))*100 As '% Utilidad'
FROM OINV T0 INNER JOIN INV1 T1 ON T0.DOCENTRY = T1.DOCENTRY
INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod
INNER JOIN OCRD T4 ON T0.CardCode = T4.CardCode
INNER JOIN OSLP T5 ON T0.Slpcode = T5.Slpcode
where T0.DocDate >= [%0] AND T0.DocDate <=[%1] and T1.LineTotal<> 0




Si se Dan Cuenta codigo y en algunas operaciones repito la sentencia de ese calculo para hacer otra operacion, entonces yo solo quiero usar el resultado pero no me reconoce el dato , alguien podra decirme como hacerle se que es facil pero no me acuerdo o estan mi cables un poco quemados
Espero me puedan ayudar

Gracias anticipadas a los foristas

JCMG

tcp_ip_es 25-08-2008 12:38:02

fijate que a mi me pasó lo mismo en su día cuando pase de access a MySQL, y en access si me dejaba llamar a un campo calculado en la misma consulta, pero en MySQL no :D asi que no me quedo otra que hacer lo que tu, o trabajar con vistas que me traían ya los calculos principales hechos y realizar operaciones con ellos.... me uno a jmedina para ver si existe alguna forma menos tediosa de realizar este tema....


La franja horaria es GMT +2. Ahora son las 11:45:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi