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.

Preguntas similare

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.

Respuesta Responder a este mensaje
#2 L.Barzi
11/10/2008 - 18:22 | Informe spam
Gracias amigo, era lo que necesitaba, una pregunta mas como puedo
obtener el total por año.



On 11 oct, 04:27, "Jesús López"
wrote:
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 mensajenews:



> 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.- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#3 Ricardo Junquera
12/10/2008 - 17:31 | Informe spam
Hola

Algo asi

SELECT COUNT(nro_fact) ,YEAR(fec_fact) ,SUM(SOLES) ,SUM(DOLARES)

FROM (

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 ) A


GROUP BY YEAR(fec_fact)


Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"L.Barzi" wrote:

Gracias amigo, era lo que necesitaba, una pregunta mas como puedo
obtener el total por año.



On 11 oct, 04:27, "Jesús López"
wrote:
> 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 mensajenews:
>
>
>
> > 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.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida