Página 1 de 1

Subquery

NotaPublicado: 2014-12-05 15:46 @699
por seafree
Hola, buenas tardes.

Ejecuto la siguiente consulta obteniendo los resultados esperados:

copy_icev=# SELECT cc.id_subsist,sum(costo) as costo from t_eventos te,c_tipo_componentes ctc,c_componentes cc where (fecha_sale BETWEEN '2014-01-01 00:00:00' AND '2014-11-30 23:59:59') and te.id_tipo_componente=ctc.id_tipo_componente and ctc.id_componente=cc.id_componente GROUP BY cc.id_subsist ORDER BY cc.id_subsist;
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
 id_subsist |   costo    
------------+------------
 EP         | 5945200.00
 SC         |  142000.00
 SE         |  322000.00
 VT         |  261166.00
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Ya que tengo los datos por subsistema, requiero mostrar la descripción de la homoclave id_subsist, la descripción se encuentra en la tabla c_subsistemas:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Tabla «public.c_subsistemas»
     Columna     |         Tipo          | Modificadores
-----------------+-----------------------+---------------
 id_subsist      | integer               | not null
 homoclave       | character varying(3)  |
 descrip_subsist | character varying(50) |
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Índices: «c_subsistemas_pkey» PRIMARY KEY, btree (id_subsist)

Bien, al resultado anterior requiero adicionarle la descripción de la columna id_subsist que se encuentra en la tabla c_subsistemas:

SELECT subs.descrip_subsist,sum(costo) as costo FROM t_eventos te,c_tipo_componentes ctc,c_componentes cc, (SELECT id_subsist,descrip_subsist from c_subsistemas) subs where (fecha_sale BETWEEN '2014-01-01 00:00:00' AND '2014-11-30 23:59:59') and te.id_tipo_componente=ctc.id_tipo_componente and ctc.id_componente=cc.id_componente and cc.id_subsist=subs.id_subsist GROUP BY subs.descrip_subsist ORDER BY subs.descrip_subsist;

La consulta anterior manda como resultado:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
descrip_subsist  |  costo
-----------------+-------
(0 filas)
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


El resultado anterior es un error porque en la primera consulta extrae los datos que deben ser y en la segunda consulta me dice que no existe nada.

Les agradezco su atención y su valioso apoyo en la corrección de la segunda consulta donde requiero mostrar la descripción de la columna id_subsist así como el costo.

Mil gracias.


Edito:

Hola, que pena, estaba tomando datos incorrectos, la consulta modificada es:

SELECT cs.descrip_subsist,sum(costo) as costo from t_eventos te,c_tipo_componentes ctc,c_componentes cc,(select homoclave,descrip_subsist
from c_subsistemas) cs where (fecha_sale BETWEEN '2014-01-01 00:00:00' AND '2014-11-30 23:59:59') and te.id_tipo_componente=ctc.id_tipo_componente and
ctc.id_componente=cc.id_componente and cc.id_subsist=cs.homoclave GROUP BY cs.descrip_subsist ORDER BY cs.descrip_subsist;


Disculpas y gracias por la atención.

Re: Subquery

NotaPublicado: 2014-12-05 16:23 @724
por seafree
Hola, que pena estaba tomando datos incorrectos, el query moificado es:

SELECT cs.descrip_subsist,sum(costo) as costo from t_eventos te,c_tipo_componentes ctc,c_componentes cc,(select homoclave,descrip_subsist
from c_subsistemas) cs where (fecha_sale BETWEEN '2014-01-01 00:00:00' AND '2014-11-30 23:59:59') and te.id_tipo_componente=ctc.id_tipo_componente and
ctc.id_componente=cc.id_componente and cc.id_subsist=cs.homoclave GROUP BY cs.descrip_subsist ORDER BY cs.descrip_subsist;

Disculpas y gracias por la atencion.