Ayuda con Query de tres tablas
Publicado por ArturoGuerrero (2 intervenciones) el 15/07/2008 00:51:45
Hola a todos, estoy realizando un reporte y no se si pueda realizarlo en una sola consulta, asi que vengo a pedir su sabio consejo.
tengo tres tablas:
usuarios, cuentas, actividad, la relación entre usuarios y cuentas es la tabla actividad de muchos a muchos, uno de los campos de esta relación es horas trabajadas, yo necesito el nombre del usuario, el nombre de la cuenta y las horas trabajadas, y en caso de que un usuario no tenga horas trabajadas en una cuenta, deberia poner un cero, he estado intentando obtener este resultado, pero no he conseguido hacer esto último, alguien de ustedes me podría ayudar?
les doy los campos de cada tabla:
usuarios: id_usuario, d_nombre
cuentas: id_cuenta, d_nombre
actividad: id_actividad, id_usuario, id_cuenta, n_horas, d_descripcion, d_fecha
el query que he estado probando es el siguiente:
SELECT
a.d_nombre,
u.d_nombre,
SUM(ac.n_horas) as horas
FROM
actividad ac,
usuarios u,
cuentas a
WHERE
ac.id_usuario = u.id_usuario
AND ac.id_cuenta = a.id_cuenta
AND ac.d_fecha
BETWEEN '2008-06-01' AND '2008-06-30'
GROUP BY
a.d_nombre asc,
u.d_nombre asc
Espero me puedan ayudar
Salu2 y gracias
tengo tres tablas:
usuarios, cuentas, actividad, la relación entre usuarios y cuentas es la tabla actividad de muchos a muchos, uno de los campos de esta relación es horas trabajadas, yo necesito el nombre del usuario, el nombre de la cuenta y las horas trabajadas, y en caso de que un usuario no tenga horas trabajadas en una cuenta, deberia poner un cero, he estado intentando obtener este resultado, pero no he conseguido hacer esto último, alguien de ustedes me podría ayudar?
les doy los campos de cada tabla:
usuarios: id_usuario, d_nombre
cuentas: id_cuenta, d_nombre
actividad: id_actividad, id_usuario, id_cuenta, n_horas, d_descripcion, d_fecha
el query que he estado probando es el siguiente:
SELECT
a.d_nombre,
u.d_nombre,
SUM(ac.n_horas) as horas
FROM
actividad ac,
usuarios u,
cuentas a
WHERE
ac.id_usuario = u.id_usuario
AND ac.id_cuenta = a.id_cuenta
AND ac.d_fecha
BETWEEN '2008-06-01' AND '2008-06-30'
GROUP BY
a.d_nombre asc,
u.d_nombre asc
Espero me puedan ayudar
Salu2 y gracias
Valora esta pregunta


0