From: Eloy Mier PĂ©rez Date: March 4 2005 10:25am Subject: RE: Duda sobre union de dos consultas List-Archive: http://lists.mysql.com/mysql-es/715 Message-Id: <490290730503040225493b222a@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Fri, 04 Mar 2005 10:35:01 +0100, "Juan F. Caprist=E1n W." wrote: > Hola Eloy, > no hay manera de hacer una =FAnica consulta por el group by, pero si lo q= ue > necesitas es obtener el resultado en una =FAnica tabla, puedes crear tabl= as > temporales, y luego unirlas. Algo as=ED (he simplificado un poco las cons= ultas > para hacerlas menos tediosas): > Hola Juan > create temporary table t1 SELECT > usuario.datos, > ptb.f_inicio AS fechaInicio, > ptb.f_fin AS fechaBaja, > ptb.f_fin-ptb.f_inicio AS parcialDiasSinServicio #esta resta no creo q= ue > funcione bien as=ED > FROM usuario > LEFT JOIN ptb ON usuario.Id=3Dptb.id_abuelo; > > create temporary table t2 SELECT > usuario.datos, > sum(ptb.f_fin-ptb.f_inicio) AS totalDiasSinServicio > FROM usuario > LEFT JOIN ptb ON usuario.Id=3Dptb.id_abuelo > GROUP BY usuario.datos; > > select * from t1,t2 where t1.id=3Dt2.id; > > y finalmente borrar las tablas temporales (drop table t1; y drop table t2= ;) > Ok, lo intentare....ya te comentare.... Como no me habia dicho nadie nada, ya habia optado por la consulta que muestra los detalles, y despues en el propio informe realizar los calculos.... > Espero haberte ayudado. > Un saludo, > Juan. > Un saludo Juan y muchas gracias por tu tiempo. > P.D.: La resta "ptb.f_fin-ptb.f_inicio ", =BFte funciona?... si f_fin y > f_inicio son de tipo date o similar, es mejor que trabajes con las funcio= nes > espec=EDficas para sumar/restar fechas. > > Parece que esa resta tal y como esta, de momento funciona, me da sin problema el numero de dias entre las fechas. > > At 19:42 03/03/2005, you wrote: > Hola a todos, > no se si alguien que tenga algo de tiempo puedises echar un vistazo a > estas dos consultas que aqui planteo: > > Tengo dos tablas relacionadas, una de usuarios con un id numerico como > pk y una de suspensiones temporares que tiene como fk el id del > usuario de la primera tabla. > > Bien, el tema es que me gustaria obtener una consulta que me retorne > algo parecido a esto : > > usuario, rango baja 1 numdias1 , total (suma de los numdias) > rango baja 2 numdias2 > > Hasta el momento he logrado hacerlo, pero mediante 2 consultas > distintas, y no se me ocurre como puedo unirlas. Las consultas que > tengo hechas son: > > SELECT usuario.nombre, usuario.apellidos, usuario.domicilio, [periodo > temporal baja].f_inicio AS fechaInicio, [periodo temporal baja].f_fin > AS fechaBaja, [periodo temporal baja].f_fin-[periodo temporal > baja].f_inicio AS parcialDiasSinServicio > > FROM usuario > LEFT JOIN [periodo temporal baja] ON usuario.Id=3D[periodo temporal > baja].id_abuelo; > > y > > SELECT usuario.Id, usuario.nombre, usuario.apellidos, > usuario.domicilio, sum([periodo temporal baja].f_fin-[periodo temporal > baja].f_inicio) AS totalDiasSinServicio > > FROM usuario > LEFT JOIN [periodo temporal baja] ON usuario.Id=3D[periodo temporal > baja].id_abuelo > GROUP BY usuario.Id, usuario.nombre, usuario.apellidos, usuario.domicilio= ; > > =BFA alguien se le ocurre como podria conseguir unir las consultas? > > Un saludo a todos. Eloy. > > > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.308 / Virus Database: 266.6.0 - Release Date: 02/03/2005 > > > -- > Lista de Correos de MySQL > Para el historial de la lista: http://lists.mysql.com/mysql-es > Para cancelar inscripci=F3n: > http://lists.mysql.com/mysql-es?unsub=3Demierp@stripped > >