Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] No consigo ver la solución a este select

Estas en el tema de No consigo ver la solución a este select en el foro de Mysql en Foros del Web. Hola y gracias de antemano. Estoy haciendo una consulta que me cuesta ver pero no se cómo podría enlazar lo siguiente: Tenemos: Tabla1 clave1 campo ...
  #1 (permalink)  
Antiguo 06/06/2013, 14:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 12
Antigüedad: 12 años, 11 meses
Puntos: 0
No consigo ver la solución a este select

Hola y gracias de antemano. Estoy haciendo una consulta que me cuesta ver pero no se cómo podría enlazar lo siguiente:

Tenemos:

Tabla1
clave1
campo
campo
...

Tabla2
clave2
campo
campo
...

tabla1_tiene_tabla2
clave1
clave2
campo
...

A base de select y where enlazo todos los campos que quiero, pero además tengo que enlazar un count() de un campo de la tabla 2 que es igual a otro de la tabla intermedia.

Algo así: select tabla1_tiene_tabla2.clave2, count(tabla2.clave2)

(un listado de clave 2 + el numero de veces que la tabla2 tiene clave2)

No tengo ni idea de como atacar esto...
  #2 (permalink)  
Antiguo 06/06/2013, 15:34
 
Fecha de Ingreso: agosto-2003
Mensajes: 174
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: No consigo ver la solución a este select

Código MySQL:
Ver original
  1. select tabla1_tiene_tabla2.clave2,
  2.    select count(tabla2.clave2) from tabla2
  3. from tabla1 inner join tabla2
  4. on tabla1.clave1=tabla2.loquesea

con lo que dices no se si debería ser inner, left o right, pero sea lo que sea las cruzas.

Última edición por gnzsoloyo; 06/06/2013 a las 17:51
  #3 (permalink)  
Antiguo 07/06/2013, 10:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: No consigo ver la solución a este select

No lo he probado, pero creo que esto te mostrará todas las claves 2 y sus totales, aparezcan o no en tabla1_tiene_tabla2

Código MySQL:
Ver original
  1.   t2.clave2,
  2.   IFNULL(COUNT(t2.clave2),0) total
  3.  FROM tabla2 t2
  4.    LEFT JOIN tabla1_tiene_tabla2 t1t2 ON t2.clave2 = t1t2.clave2
  5.   GROUP BY t2.clave2

dinos si es así; si no, corregiremos la consulta.

Etiquetas: campo, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:58.