Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/01/2012, 16:01
mikexloo
 
Fecha de Ingreso: mayo-2011
Mensajes: 25
Antigüedad: 13 años
Puntos: 1
Respuesta: JOIN dos tablas mas COUNT en una tercera

las dos lineas de codigo que he escrito son solo una idea de lo que usar , pero mi problema es la sintaxis , es verdad que he cometido el error al final en la primera parte de codigo , deberia ser asi:
SELECT * FROM categories AS t1 RIGHT JOIN tabla2 AS t2
ON t1.id=t2.id WHERE t1.parent_id=0
Pero esto solo indica el join entre tabla1 y tabla2 si tuviese que añadirle el campo que recopilo de la
tabla 3 ( ese es mi problema)

tabla1
id parent_id srt_order
1 0 1
2 0 2
3 0 3
4 0 4
5 1 0
6 1 0
7 2 0
8 3 0
9 3 0
10 4 0

tabla2
id descr othervalue
1 0 1
2 0 2
3 0 3
4 0 4

tabla 3
id service
1 5
2 5
3 6
4 6
5 7
6 8

Esto es lo que necesito ademas del join con la tabla 2 que no es mayor problema . Sumar todos los tabla3.service WHERE tabla3.service = tabla1.id para cada tabla1.srt_order = tabla1.parent_id

Ejemplo
El primer y seg valor devuelto deberia ser :
id parent_id srt_order descr COUNT(service)
1 0 1 0 4
2 0 2 0 1

este query me suma todos los service sin diferenciarlos por t1.parent_id ni t1.srt_order:
"SELECT t1.*,t2.*, IFNULL(COUNT(t3.service),0) AS count FROM tabla3 AS t3 , tabla1 AS t1 RIGHT JOIN tabla2 AS t2
ON t1.id = t2.id WHERE t1.parent_id=0 GROUP BY t1.id"

Muchas gracias por la ayuda

Y lo siento, no estoy muy acomstumbrado a los foros, ni siquiera puedo borrar post , ni se que caracateres me va a suprimir, tampoco se exactamente como copiais de mysql , (los espacios en mi caso indican tab)

Última edición por mikexloo; 29/01/2012 a las 17:46