Ayuda con Query

11/10/2008 - 03:24 por L.Barzi | Informe spam
Hola amigos tengo una tabla similares a:

nro_fact fec_fact tip_mon mto_fact
36985 10/10/2008 1 369.0000
36986 10/10/2008 1 789.0000
36987 10/10/2008 2 859.0000
36988 10/10/2008 1 723.0000
36989 10/10/2008 1 362.0000
36990 10/10/2008 2 398.0000

Donde:

nro_fact = Numero de Factura
fec_fact = Fecha de Factura
tip_mon = Tipo de Moneda
mto_fact = Monto de Factura

El Tipo de Moneda puede ser 1 cuando es Soles (moneda peruana) y 2
cuando es Dolares, en Monto de Factura se guarda el importe de la
factura todo depende del campo Tipo de Moneda si es soles o Dolares,
en Monto de Factura se guarda el importe directo.

Mi pregunta es la sgte como puedo hacer un Query que me de como
resultado algo similar a:

nro_fact fec_fact SOLES DOLARES
36985 10/10/2008 369.0000 123.0000
36986 10/10/2008 789.0000 263.0000
36987 10/10/2008 2577.000 859.0000
36988 10/10/2008 723.0000 241.0000
36989 10/10/2008 362.0000 120.6666
36990 10/10/2008 1194.000 398.0000

Obtener una columna SOLES y otra DOLARES sabien que la columna Monto
de Factura es donde se guarda la cantidad ya se dolares o soles lo
unico que diferencua es el campo Tipo de Moneda.

Espero que me puedan ayudar, gracias de antemano.
 

Leer las respuestas

#1 Jesús López
11/10/2008 - 11:27 | Informe spam
DECLARE @SolesPorDolar DECIMAL(8,4)
SET @SolesPorDolar = <el valor del cambio en este momento>

SELECT
nro_fact, fec_fact,
CASE
WHEN tip_mon=1 THEN mto_fact
WHEN tip_mon =2 THEN mto_fact * @SolesPorDolar
ELSE NULL
END AS Soles,
CASE
WHEN tip_mon = 1 THEN mto_fact / @SolesPorDolar
WHEN tip_mon = 2 THEN mto_fat
ELSE NULL
END AS Dolares
FROM
Facturas


"L.Barzi" escribió en el mensaje
news:
Hola amigos tengo una tabla similares a:

nro_fact fec_fact tip_mon mto_fact
36985 10/10/2008 1 369.0000
36986 10/10/2008 1 789.0000
36987 10/10/2008 2 859.0000
36988 10/10/2008 1 723.0000
36989 10/10/2008 1 362.0000
36990 10/10/2008 2 398.0000

Donde:

nro_fact = Numero de Factura
fec_fact = Fecha de Factura
tip_mon = Tipo de Moneda
mto_fact = Monto de Factura

El Tipo de Moneda puede ser 1 cuando es Soles (moneda peruana) y 2
cuando es Dolares, en Monto de Factura se guarda el importe de la
factura todo depende del campo Tipo de Moneda si es soles o Dolares,
en Monto de Factura se guarda el importe directo.

Mi pregunta es la sgte como puedo hacer un Query que me de como
resultado algo similar a:

nro_fact fec_fact SOLES DOLARES
36985 10/10/2008 369.0000 123.0000
36986 10/10/2008 789.0000 263.0000
36987 10/10/2008 2577.000 859.0000
36988 10/10/2008 723.0000 241.0000
36989 10/10/2008 362.0000 120.6666
36990 10/10/2008 1194.000 398.0000

Obtener una columna SOLES y otra DOLARES sabien que la columna Monto
de Factura es donde se guarda la cantidad ya se dolares o soles lo
unico que diferencua es el campo Tipo de Moneda.

Espero que me puedan ayudar, gracias de antemano.

Preguntas similares