RE: ayuda con select iff

From: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
To: <gsic(at)prodigy(dot)net(dot)mx>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: ayuda con select iff
Date: 2009-01-22 19:46:21
Message-ID: BLU137-W310277867EADE538A91E8EE3CE0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> Encontre unos modulos con selects como el que acontinuación les muestro:
>

>
> rst(0).Open "SELECT iif(AcumSalCX=1,'Cargo', iif(AcumSalCX=2, 'Abono', 'No
> Acumula')) as Concepto, " _

Eso no es standard de SQL so PG no lo soprta . Puedes conseguir lo mismo con CASE ... WHEN...END
Dicho sea de paso una construccion bastante fea pero ....
>
>
>
> & "NumTipoDoc, NombreTipo, DoctoDE FROM TipoDoctos WHERE DocCteProv=1 AND NumTipoDoc
> " _
>
>
>
> & "in (" & Me.Tag
> & ") ORDER BY NumTipoDoc, " _
>
>
>
> & "AcumSalCX",
> Cn, adOpenForwardOnl, adLockReadOnly

> el problema es que postgres no me reconoce el iff o
> alguna función de visual dentro de un select como (iif , len(campo), trim(campo), etc)

PG no lo reconocera nunca, gracias a Dios!!
Visual tampoco , que es Visual>???

CASE ..WHEN..END

>
>
>
>
>
>
>
> la documentación con
> la que cuento es poca y el tiempo es mucho menor jeje,
Poca??
www.postgresql.org hay mas de la que puedas necesitar

>
> tienen alguna idea
> de cómo sustituir este iff con una sentencia que
> acepte postgres sin modificar mucho los selects (ya que son bastantes)

CASE ...WHEN ...END
>
>
>
>
>
>
>
> y si hay alguna
> sintaxis para que postgres me acepte las funciones de
> visual dentro de un select.

No, gracias a Dios!!

>
>
>
>
>
>
>
> Gracias por su atención
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Aqui pongo otro
> ejemplo de un select
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Cn.Execute
> ("INSERT INTO TmpEdoCuenta SELECT sum(iif(Cobranza.FecVencedo<='#"
> _
>
>
>
> & Format(Txt(1), "dd/mm/yy") & "#', iif(Cobranza.Naturaleza='C', iif(Cobranza.FecDocto<='#"
> _
>
>
>
> & Format(Txt(1), "dd/m/yy") & "#', Cobranza.ImpPendDoc,
> 0), 0) - iif(Cobranza.Naturaleza='A',
> iif(Cobranza.FecDocto<='#"
> _
>
>
>
> & Format(Txt(1), "dd/mm/yy") & "#', Cobranza.ImpPendDoc, 0), 0), 0)) as Vencido, CatTipMoneda.Descrip as Moneda, " _
>
>
>
> & "Clientes.RazonSocial as Cliente, Clientes.IdCliente
> as idCliente, " _
>
>
>
> & "Clientes.LimCred as LimiteCredito,
> Agentes.NomAgent as Cobrador, " _
>
>
>
> & " Cobranza.FecDocto as FechaDocto, Cobranza.NumDocto as NoDocto, Cobranza.Naturaleza, " _
>
>
>
> & "TipoDoctos.NombreTipo as TipoDocto,
> iif(Cobranza.Naturaleza='C', " _
>
>
>
> & "Cobranza.ImpTotalDo, 0) as Cargos, iif(Cobranza.Naturaleza='A',
> " _
>
>
>
> & "Cobranza.ImpTotalDo, 0) as Abonos, iif(Cobranza.Naturaleza='C',
> iif(Cobranza.FecDocto<='#"
> _
>
>
>
> & Format(Txt(1), "dd/mm/yy") & "#', Cobranza.ImppendDoc, 0), 0) - iif(Cobranza.Naturaleza='A', iif(Cobranza.FecDocto<='#" _
>
>
>
> & Format(Txt(1), "dd/mm/yy") & "#', Cobranza.ImppendDoc, 0), 0) as SaldoDocto,
> " _
>
>
>
> & "Cobranza.FecVenceDo as FechaVmto
> FROM Cobranza, Clientes, Agentes, " _
>
>
>
> & "TipoDoctos, CatTipMoneda WHERE Cobranza.CodCteProv=Clientes.IdCliente " _
>
>
>
> &
> "AND Cobranza.NumTipoDoc=TipoDoctos.NumTipoDoc
> AND Cobranza.MonedaDoct=" _
>
>
>
> & "CatTipMoneda.Clave AND clientes.noagenteco=agentes.noagente
> AND Clientes.idCliente>=" & Inicial _
>
>
>
> & "
> AND Clientes.Idcliente<=" & Final &
> " AND cobranza.Fecdocto>=#" & Format(Text1,
> "mm/dd/yy") & "# AND Cobranza.FecDocto<=#"
> & Format(Txt(1), "mm/dd/yy")
> & "#" _
>
>
>
> & " AND Agentes.ClaseAge=2
> GROUP BY CatTipMoneda.Descrip, Clientes.RazonSocial,
> Clientes.IdCliente, " _
>
>
>
> & "Clientes.LimCred,
> Agentes.NomAgent, Cobranza.FecDocto,
> " _
>
>
>
> & "Cobranza.NumDocto, Naturaleza, TipoDoctos.NombreTipo,
> iif(Cobranza.Naturaleza='C', " _
>
>
>
> & "Cobranza.ImpTotalDo, 0), iif(Cobranza.Naturaleza='A',
> Cobranza.ImpTotalDo, 0), " _
>
>
>
> & "iif(Cobranza.Naturaleza='C', iif(Cobranza.FecDocto<=#" & Format(Txt(1), "mm/dd/yy") _
>
>
>
> & "#,
> Cobranza.ImpPendDoc, 0), 0) - iif(Cobranza.Naturaleza='A',
> iif(Cobranza.FecDocto<=#"
> _
>
>
>
> & Format(Txt(1), "mm/dd/yy") & "#, Cobranza.ImpPendDoc, 0), 0), Cobranza.FecVenceDo")
>
>
>
>
>
>
>
>
>
>

_________________________________________________________________
Stay up to date on your PC, the Web, and your mobile phone with Windows Live
http://clk.atdmt.com/MRT/go/119462413/direct/01/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ruben.... 2009-01-22 20:07:58 RE: Pasar una tabla (de una base de datos postgres) a una hoja de calculo (con exel o openoffice)
Previous Message Emanuel Calvo Franco 2009-01-22 19:04:44 Re: Ayuda subselect con limit