none
Por favor ayudar usando Case o if como hacer según condición RRS feed

  • Pregunta

  • Por ejemplo dependiendo del valor 'PEN' debería guardar el dinero en la columna de mi excel IMPORTE_TOTAL_EN_MN y si es 'USD' debería guardar el dinero en la columna IMPORTE_TOTAL_EN_ME.

    (case when  c.Moneda ='PEN' then
     ((Cantidad* p.PrecProducto)*1.18) as IMPORTE_TOTAL_EN_MN
     else
     ((Cantidad* p.PrecProducto)*1.18) as IMPORTE_TOTAL_EN_ME
     end)

    viernes, 26 de mayo de 2017 21:16

Respuestas

  • Si no es del tipo, quieres que salga 0, entonces valídalo así:

    select (case when c.Moneda ='PEN' then ((Cantidad* p.PrecProducto)*1.18) else 0 end) As IMPORTE_TOTAL_EN_MN,
           (case when c.Moneda = 'USD' then ((Cantidad* p.PrecProducto)*1.18) else 0 end) As IMPORTE_TOTAL_EN_ME
    from tabla

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta WALTER BRENIS viernes, 26 de mayo de 2017 22:17
    viernes, 26 de mayo de 2017 21:46

Todas las respuestas

  • Hola WALTER BRENIS

    Manéjalo así:

    select (case when c.Moneda ='PEN' then ((Cantidad* p.PrecProducto)*1.18) end) As IMPORTE_TOTAL_EN_MN,
           (case when c.Moneda = 'USD' then ((Cantidad* p.PrecProducto)*1.18) end) As IMPORTE_TOTAL_EN_ME
    from tabla

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    viernes, 26 de mayo de 2017 21:21
  • William he probado así

    (CASE WHEN c.Moneda = 'PEN' then ((Cantidad* p.PrecProducto)*1.18) else '0' end) as IMPORTE_TOTAL_EN_MN,
    (CASE WHEN c.Moneda = 'USD' then ((Cantidad* p.PrecProducto)*1.18) else '0' end) IMPORTE_TOTAL_EN_ME,

    le pongo 0, por que no me permite valores nulos en mi excel, pero cuando selecciono dos numeros de pedidos uno con PEN y otro USD solo me muestra en la columna IMPORTE_TOTAL_EN_MN y si es USD 0.00 y es PEN si el monto.

    pero debería mostrame USD en su columna y el PEN en su columna.

    viernes, 26 de mayo de 2017 21:43
  • Si no es del tipo, quieres que salga 0, entonces valídalo así:

    select (case when c.Moneda ='PEN' then ((Cantidad* p.PrecProducto)*1.18) else 0 end) As IMPORTE_TOTAL_EN_MN,
           (case when c.Moneda = 'USD' then ((Cantidad* p.PrecProducto)*1.18) else 0 end) As IMPORTE_TOTAL_EN_ME
    from tabla

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta WALTER BRENIS viernes, 26 de mayo de 2017 22:17
    viernes, 26 de mayo de 2017 21:46
  • gracias William, salio todo bien.
    viernes, 26 de mayo de 2017 22:17