
Unir el resultado de dos SELECT
Publicado por Johm (8 intervenciones) el 10/04/2014 17:32:16
Buenas, tengo un problema que por muchas vueltas que le doy no consigo solucionar.
Mi intención es unir dos select, de tal forma que uno de ellos limite el numero de registros que se muestran en la consulta total.
Tengo dos tablas:
-una con clientes ( donde esta el cod de cliente (Primary key) y el nombre)
-otra con los gastos. Los de esos clientes y de otros que no están definidos en la tabla clientes. Realizo un select en la tabla de gastos, de tal manera que me sume los gastos de cada subservicio contratado por el cliente y contabilice el numero de unidades de ese subservicio. La Consulta es esta.
SELECT nom_cliente_imputacion, servicio,subservicio, SUM(CP), COUNT(Subservicio) from detalle_costes GROUP BY nom_cliente_imputacion, servicio, subservicio;
Tambien los ordeno por el cliente servicio y subservicio.
El problema viene ahora, cuando intento unir el resultado de ese SELECT con los clientes de la tabla clientes, para que solo me muestre los gastos de los clientes definidos en la tabla.
Lo he intentado asi:
SELECT nom_cliente_imputacion, servicio,subservicio, SUM(CP), COUNT(Subservicio) from detalle_costes GROUP BY nom_cliente_imputacion, servicio, subservicio
NATURAL JOIN
(SELECT COD_CLIENTE FROM clientes) AS SELECT_1 GROUP BY nom_cliente_imputacion, servicio,subservicio;
Ejecuta la consulta pero no obtengo lo que quiero, aparte de que no me filtra por los clientes de la tabla clientes, me salen cantidades mucho mas elevadas que al realizar la consulta sola
SELECT nom_cliente_imputacion, servicio,subservicio, SUM(CP), COUNT(Subservicio) from detalle_costes GROUP BY nom_cliente_imputacion, servicio, subservicio;
Alguien me puede echar una mano porfavor????? llevo mucho tiempo con esto :(
Un saludo y gracias.
Mi intención es unir dos select, de tal forma que uno de ellos limite el numero de registros que se muestran en la consulta total.
Tengo dos tablas:
-una con clientes ( donde esta el cod de cliente (Primary key) y el nombre)
-otra con los gastos. Los de esos clientes y de otros que no están definidos en la tabla clientes. Realizo un select en la tabla de gastos, de tal manera que me sume los gastos de cada subservicio contratado por el cliente y contabilice el numero de unidades de ese subservicio. La Consulta es esta.
SELECT nom_cliente_imputacion, servicio,subservicio, SUM(CP), COUNT(Subservicio) from detalle_costes GROUP BY nom_cliente_imputacion, servicio, subservicio;
Tambien los ordeno por el cliente servicio y subservicio.
El problema viene ahora, cuando intento unir el resultado de ese SELECT con los clientes de la tabla clientes, para que solo me muestre los gastos de los clientes definidos en la tabla.
Lo he intentado asi:
SELECT nom_cliente_imputacion, servicio,subservicio, SUM(CP), COUNT(Subservicio) from detalle_costes GROUP BY nom_cliente_imputacion, servicio, subservicio
NATURAL JOIN
(SELECT COD_CLIENTE FROM clientes) AS SELECT_1 GROUP BY nom_cliente_imputacion, servicio,subservicio;
Ejecuta la consulta pero no obtengo lo que quiero, aparte de que no me filtra por los clientes de la tabla clientes, me salen cantidades mucho mas elevadas que al realizar la consulta sola
SELECT nom_cliente_imputacion, servicio,subservicio, SUM(CP), COUNT(Subservicio) from detalle_costes GROUP BY nom_cliente_imputacion, servicio, subservicio;
Alguien me puede echar una mano porfavor????? llevo mucho tiempo con esto :(
Un saludo y gracias.
Valora esta pregunta


0