MySQL - No sé cómo hacerlo

 
Vista:

No sé cómo hacerlo

Publicado por Arturo Mediavilla (3 intervenciones) el 24/05/2006 15:49:16
A ver si podéis ayudarme, por favor. Supongo que será una consulta muy simple de SQL pero yo no tengo ni idea de cómo hacerlo. Tengo dos tablas:

id nombre
--- -----------
1 Pepe
2 Juan
3 Pedro

id hora
--- --------
1 12:20
1 13:30
2 13:50
3 13:55
1 14:00
3 14:15
2 14:50
1 15:00
3 16:15

En la segunda tabla se registran todas las entradas de cada uno de los (id)entificadores, y sé cómo contar el número de entradas que ha habido con COUNT(*):

SELECT id, COUNT( * )
FROM contador
WHERE tiempo LIKE '200605%'
GROUP BY id
ORDER BY 2 DESC

que daría esto:

id count(*)
--- ----------
1 4
3 3
2 2

Pero no sé cómo enlazarlo con los nombres así:

1 Pepe 4
3 Pedro 3
2 Juan 2

Más o menos intuyo que se podría hacer creando tablas temporales, pero me parece un poco engorroso y me pregunto si se podría hacer con una sola query.

Gracias por vuestra ayuda,
Arturo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No sé cómo hacerlo

Publicado por Arturo Mediavilla (3 intervenciones) el 24/05/2006 15:51:06
Perdón, la parte de "WHERE tiempo..." no sirve en este caso para nada. Es que la he copiado de un ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No sé cómo hacerlo

Publicado por Juan (29 intervenciones) el 24/05/2006 16:07:31
No vale chamo, para nada de tablas temporales. Es haciendo una especie de Join

SELECT id, nombre, COUNT( * )
FROM contador
WHERE tiempo LIKE '200605%' and Nombres.Id = Horas.Id
GROUP BY id
ORDER BY 2 DESC

Revisa a ver, ojo no se el nombre de las tablas pero puse unas que fueran intuitvas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No sé cómo hacerlo

Publicado por Arturo Mediavilla (3 intervenciones) el 24/05/2006 16:14:47
¡OLÉ! He añadido el nombre de la segunda tabla en el FROM y funciona PERFECTO.

Mil gracias por tu ayuda, compañero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No sé cómo hacerlo

Publicado por Juan (29 intervenciones) el 24/05/2006 17:24:28
jejejeej cierto sorry. Ojo la misma idea funciona si quieres poner campos de 3, 4,5 o mas tablas, solo que debes tener cuidado de hacer los join con las claves que te manejan la integridad referencial, poner todos esos iguales en el where
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar