Query muy complicada

From: Mario Soto Cordones - Venezuela <msotocl(at)gmail(dot)com>
To: pgsql-es postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Query muy complicada
Date: 2005-06-09 17:55:25
Message-ID: e9b17cde050609105525a38161@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista, tengo el siguiente query:

select * from crosstab('select codigo, nombre, samafilial.nb_filial,
samaubi.nb_ubicacion,co_contable, co_tecnico,
descampo, valor_campo from _vasaf_systbl_1 , samafilial , samaubi, activos
where _vasaf_systbl_1.id_estado = ''SA'' and empresa =1 and
_vasaf_systbl_1.empresa = samafilial.co_empresa and
_vasaf_systbl_1.filial = samafilial.co_filial and
_vasaf_systbl_1.empresa = activos.co_empresa and
_vasaf_systbl_1.codigo = activos.nu_activo_fijo and
_vasaf_systbl_1.empresa = samaubi.co_empresa and
_vasaf_systbl_1.filial = samaubi.co_filial and
_vasaf_systbl_1.ubicacion = samaubi.co_ubicacion AND modelo =4 And
filial = 2 group by codigo, nombre, samafilial.nb_filial,
samaubi.nb_ubicacion,co_contable, co_tecnico, descampo , valor_campo
order by 1', 'select ''ANCHO MTS.'' union all select ''AREA M2'' union
all select ''LARGO MTS.'' union all select ''TIPO DE PROPIEDAD'' union
all select ''TOMO'' ') as ( codigo varchar, nombre varchar, nb_filial
varchar, nb_ubicacion varchar, co_contable varchar, co_tecnico
varchar, "ANCHO MTS." varchar ,"AREA M2" varchar ,"LARGO MTS." varchar
,"TIPO DE PROPIEDAD" varchar ,"TOMO" varchar )

Que me entrega los resultados que quiero, pero ahora a este query
necesito agragarle que me entregue 2 campos adicionales de otra tabla
, por lo que hago lo siguiente:

select va_vneto, va_dm, (
-- estos son los 2 campos que le agregue

select * from crosstab('select codigo, nombre,
samafilial.nb_filial, samaubi.nb_ubicacion,co_contable, co_tecnico,
descampo, valor_campo from _vasaf_systbl_1 , samafilial , samaubi, activos
where _vasaf_systbl_1.id_estado = ''SA'' and empresa =1 and
_vasaf_systbl_1.empresa = samafilial.co_empresa and
_vasaf_systbl_1.filial = samafilial.co_filial and
_vasaf_systbl_1.empresa = activos.co_empresa and
_vasaf_systbl_1.codigo = activos.nu_activo_fijo and
_vasaf_systbl_1.empresa = samaubi.co_empresa and
_vasaf_systbl_1.filial = samaubi.co_filial and
_vasaf_systbl_1.ubicacion = samaubi.co_ubicacion AND modelo =4 And
filial = 2 group by codigo, nombre, samafilial.nb_filial,
samaubi.nb_ubicacion,co_contable, co_tecnico, descampo , valor_campo
order by 1', 'select ''ANCHO MTS.'' union all select ''AREA M2'' union
all select ''LARGO MTS.'' union all select ''TIPO DE PROPIEDAD'' union
all select ''TOMO'' ') as ( codigo varchar, nombre varchar, nb_filial
varchar, nb_ubicacion varchar, co_contable varchar, co_tecnico
varchar, "ANCHO MTS." varchar ,"AREA M2" varchar ,"LARGO MTS." varchar
,"TIPO DE PROPIEDAD" varchar ,"TOMO" varchar ))

from contabilidad.sahidep a
where

a.co_empresa = _vasaf_systbl_1.empresa and
a.co_filial = _vasaf_systbl_1.filial and
a.co_codigo = _vasaf_systbl_1.codigo

y me dice :

la subconsulta debe retornar sólo una columna

Y eso es lo que precisamente no entiendo, ya que solo quiero agregarle
esas 2 consultas a mi query que ya funcionaba

Saludos y Gracias

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message oliver 2005-06-09 18:05:46 RE: arreglos en postgres
Previous Message Jaime Casanova 2005-06-09 17:51:43 Re: [OT] ¿Cuáles deberían ser las funciones de un DBA?