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

Utilizar un campo calculado

280 views
Skip to first unread message

German Antolin

unread,
Dec 27, 2002, 10:07:16 AM12/27/02
to
Necesitaria saber como puedo reutilizar un campo calculado en SQL Server 7.
Me explico, si tengo un campo ((PVP*16)/100) as IVA, como puedo hacer
referencia al mismo campo pero por su nombre 'IVA'

En Access es prefectamente aceptable, pero desde SQL me dice que el campo
IVA no existe.


Ej:
Me gustaria poder realizar la siguiente expresion:
Select PV as Precio, (PV*16)/100 as IVA, (PV + IVA) as PVP from
tblProductos

Pero me obliga a duplicar la explesion:
Select PV as Precio, (PV*16)/100 as IVA, (PV + ((PV*16)/100)) as PVP
from tblProductos


Gracias...
GAP


Claudio E. Ale

unread,
Dec 27, 2002, 11:18:54 AM12/27/02
to
Germ{an, el tema es que es un campo calculado dinámicamente. Si lo necesitas
con frecuencia, y deseas realizar este tipo de cálculos, la opción sería
poner un Campo calculado en la tabla fisicamente, el cual no ocupa espacio
físico y es utilizado como si fuese un campo mas de la tabla. De esa form,
puedes utilizarlo asignandole unicamente el nombre.

Salu2.

--
Claudio Emilio Ale
Analista de Sistemas - MCP
NDSoft Consultoría y Desarrollo
clau...@ndsoft.com.ar

"German Antolin" <g_an...@optica2000.com> wrote in message
news:uDFvflbrCHA.2520@TK2MSFTNGP10...

German Antolin

unread,
Dec 30, 2002, 3:32:56 AM12/30/02
to
Gracias Claudio por responder, pero con la solución que me das tendría que
recurrir a stored procedures y no quisiera hacerlo. Me parece increible y no
encuentro explicación porque Access que en teoria en bastante menos potente
que Sql Server lo permite.

Saludos...
GAP


Claudio E. Ale <clau...@ndsoft.com.ar> escribió en el mensaje de noticias
O480IPcrCHA.1632@TK2MSFTNGP12...

Salvador Ramos

unread,
Dec 30, 2002, 3:46:26 AM12/30/02
to
Germán, no necesitas para nada Stored Procedures al aplicar la solución que
te han dado. Te paso un ejemplo para que la pruebes:

CREATE TABLE Calc(codigo int, nombre varchar(30),
Exist int, Precio int, Total as Exist * Precio)

INSERT INTO Calc VALUES(3,'Tornillos', 10, 20)
INSERT INTO Calc VALUES(4,'Martillo', 15, 100)
SELECT * FROM Calc
SELECT Codigo, Total FROM Calc

Se trata de campos que existen en la tabla, pero no ocupan espacio físico en
disco. Ten en cuenta,que en las instrucciones insert y update no los puedes
utilizar, ya que son calculados y para modificar su valor debes modificar el
de los campos que intervienen en la expresión solamente.

--
Un saludo
---------------------------------------
Salvador Ramos
www.helpdna.net (información sobre Windows DNA, SQL Server, VB, ...)
webm...@helpdna.net
---------------------------------------
MCP SQL Server
---------------------------------------
PASS Spanish Group (www.sqlpass.org)
---------------------------------------

"German Antolin" <g_an...@optica2000.com> escribió en el mensaje
news:O2oIE39rCHA.1624@TK2MSFTNGP10...

German Antolin

unread,
Dec 30, 2002, 11:40:24 AM12/30/02
to
Ahora lo pruebo, pero pinta muy hiper bien.

Gracias...


Salvador Ramos <sra...@inforges.es> escribió en el mensaje de noticias
O1HLq$9rCHA.868@TK2MSFTNGP12...

0 new messages