Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Duda con concatenación de texto

From: Guillermo Muñoz <guillermo(dot)munoz(at)grupotekne(dot)com(dot)ar>
To: "MIGUEL CANCHAS" <mcanchas(at)tsr(dot)com(dot)pe>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Duda con concatenación de texto
Date: 2007-10-16 14:07:17
Message-ID: 007c01c80ffd$dc8315e0$2601010a@gg07030802
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si la vista ya la tenes creada, hace un drop VIEW "public"."vdatos_vi";
aparentemente no te esta dejando porque el campo tipo_documento ya esta en
la vista con otro tipo de dato

Saludos

----- Original Message -----
From: "MIGUEL CANCHAS" <mcanchas(at)tsr(dot)com(dot)pe>
To: "'Guillermo Muñoz'" <guillermo(dot)munoz(at)grupotekne(dot)com(dot)ar>; "MIGUEL
CANCHAS" <mcanchas(at)tsr(dot)com(dot)pe>; <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Tuesday, October 16, 2007 10:53 AM
Subject: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Duda con
concatenación de texto

-----Mensaje original-----
De: Guillermo Muñoz [mailto:guillermo(dot)munoz(at)grupotekne(dot)com(dot)ar]
Enviado el: Martes, 16 de Octubre de 2007 08:44 a.m.
Para: MIGUEL CANCHAS; pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Duda con concatenación
de texto

>El coalesce me parece bien, pero yo lo intento poner para una vista y no me
>permite, a que se debe ese error o como lo podria poner para una vista ?

>GRacias
Raro, te tendria que permitir. podes postear el create de la vista?

Saludos
Guillermo Muñoz
----- Original Message -----
From: "MIGUEL CANCHAS" <mcanchas(at)tsr(dot)com(dot)pe>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Tuesday, October 16, 2007 10:30 AM
Subject: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Duda con concatenación de
texto

-----Mensaje original-----
De: Yosip Abraham Curiel Jiménez [mailto:snake77se(at)gmail(dot)com]
Enviado el: Martes, 16 de Octubre de 2007 07:37 a.m.
Para: mortega(at)tc(dot)com(dot)ve
CC: postgreSQL
Asunto: Re: [pgsql-es-ayuda] Duda con concatenación de texto

On 10/16/07, Miguel Ortega < mortega(at)tc(dot)com(dot)ve <mailto:mortega(at)tc(dot)com(dot)ve> >
wrote:

Yosip Abraham Curiel Jiménez escribió:
> Hola a todos estaba haciendo unos query para depurar una data, y
> necesitaba hacer un campo texto con otra serie de campos de otra
> tabla, estaba usando case when para decidir pero me esta pasando que
> cuando uno de los campos es empty string no concatena nada, es decir
> me viene vacio el resultado.
>
> select case
> when trim(ed.nomcorrec) || ' ' || trim(ed.ape1corr) || ' ' ||
> trim(ed.ape2corr) != '' then
> trim(ed.nomcorrec) || ' ' || trim(ed.ape1corr) || ' ' ||
> trim( ed.ape2corr)
> when trim(ed.nomprop) || ' ' || trim( ed.ape1prop) || ' ' ||
> trim(ed.ape2prop) != '' then
> trim(ed.nomprop) || ' ' || trim(ed.ape1prop) || ' ' ||
> trim( ed.ape2prop)
> else
> ''
> end as nombre from xxx
>
> Lo que me di cuenta fue que el tipo de dato es "text" no es varchar no
> se si ese tipo de dato tiene algun inconveniente.
>
> gracias de antemano,
>
>
> --
> Yosip Curiel (Snake77SE)
Hola....

Creo que te conviene utilizar la funcion COALESCE con todos los campos
de texto... Si no me equivoco, si haces SELECT 'Hola Mundo!!' || Null;
te retornara Null; si utilizas SELECT 'Hola Mundo!!' ||
COALESCE(Null,''), te devolvera "Hola Mundo!!" como debe ser....
Investiga un poco en base a lo que te menciono y haz las pruebas
pertinentes...

Saludos

--
_________________________________________
Miguel A. Ortega B.
Analista de Sistemas y Soporte a Usuarios
<0416 - 642 12 26> / < mortega(at)tc(dot)com(dot)ve <mailto:mortega(at)tc(dot)com(dot)ve> >
Technologies Consulting C.A.

Si ya me funcinó eran los nulos exactamente muchas gracias a todos...

--
Yosip Curiel (Snake77SE)

El coalesce me parece bien, pero yo lo intento poner para una vista y no me
permite, a que se debe ese error o como lo podria poner para una vista ?

GRacias

[MIGUEL CANCHAS]

CREATE OR REPLACE VIEW "public"."vdatos_vi" (
tipo_documento,
tipo_ingreso,
nombre_almacen,
itemvi,
idtipo_ingreso,
idocompra,
itemoc,
idpedido,
idpartida,
guiarem,
idhilo,
lote,
humedad,
envase,
envase_cantidad,
tipo,
tipo_cantidad,
peso_bruto,
peso_neto,
peso_guia,
tipo_cono,
origen,
ubica,
idvihilo,
idalmacen,
fecha_emision,
idocompra1,
idopedido,
idtdoc,
talonario,
ndocum,
fecha_ingreso,
idemisor,
idreceptor,
idprop,
idoperario,
fecha_pesado,
hora_pesado,
titulo_hilo,
desc_hilo,
nombre_emisor,
nombre_receptor,
nombre_propietario)
AS
SELECT coalesce(mtipo_documento.tipo_documento,'') as tipo_documento,
coalesce(mtipo_ingreso.tipo_ingreso,'')as tipo_ingreso,
malmacen.nombre_almacen, vihilos2.itemvi, vihilos2.idtipo_ingreso,
vihilos2.idocompra, vihilos2.itemoc, vihilos2.idpedido,
vihilos2.idpartida,
vihilos2.guiarem, vihilos2.idhilo, vihilos2.lote, vihilos2.humedad,
vihilos2.envase, vihilos2.envase_cantidad, vihilos2.tipo,
vihilos2.tipo_cantidad, vihilos2.peso_bruto, vihilos2.peso_neto,
vihilos2.peso_guia, vihilos2.tipo_cono, vihilos2.origen, vihilos2.ubica,
vihilos1.idvihilo, vihilos1.idalmacen, vihilos1.fecha_emision,
vihilos1.idocompra AS idocompra1, vihilos1.idopedido, vihilos1.idtdoc,
vihilos1.talonario, vihilos1.ndocum, vihilos1.fecha_ingreso,
vihilos1.idemisor, vihilos1.idreceptor, vihilos1.idprop,
vihilos1.idoperario, vihilos1.fecha_pesado, vihilos1.hora_pesado,
mhilos.titulo_hilo, mhilos.desc_hilo, emisor.nomcliente AS
nombre_emisor,
receptor.nomcliente AS nombre_receptor, propietario.nomcliente AS
nombre_propietario
FROM ((((((((vihilos1 LEFT JOIN vihilos2 ON ((vihilos1.idvihilo =
vihilos2.idvihilo))) LEFT JOIN malmacen ON ((vihilos1.idalmacen =
malmacen.idalmacen))) LEFT JOIN mtipo_documento ON ((vihilos1.idtdoc =
mtipo_documento.idtdoc))) LEFT JOIN mtipo_ingreso ON
((vihilos2.idtipo_ingreso = mtipo_ingreso.idtipo_ingreso))) LEFT JOIN
mhilos ON ((vihilos2.idhilo = mhilos.idhilo))) LEFT JOIN mclientes
emisor
ON ((vihilos1.idemisor = emisor.idcliente))) LEFT JOIN mclientes
receptor
ON ((vihilos1.idreceptor = receptor.idcliente))) LEFT JOIN mclientes
propietario ON ((vihilos1.idprop = propietario.idcliente)))
ORDER BY vihilos1.idvihilo, vihilos2.itemvi;

el error es :
ERROR: cannot change data type of view column "tipo_documento"
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá
leerlo

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.488 / Virus Database: 269.14.8/1066 - Release Date: 12/10/2007
11:10 a.m.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Martínez 2007-10-16 14:32:33 Re: ayuda con copy
Previous Message MIGUEL CANCHAS 2007-10-16 13:53:46 RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Duda con concatenación de texto