El SQL lo tengo que poner en una sola consulta con el fin de ordenar los resultados por
cantidad de registros de tabla_2 o tabla_3.
Las tablas estan relacionadas por el id de la tabla_1:
Tengo las siguientes tablas (ejemplo):
tabla_1
--------
| id | texto |
1 casa
2 hola
tabla_2
--------
| id | id_tabla_1 |
1 1
2 1
3 2
4 1
5 2
tabla_3
--------
| id | id_tabla_1 |
1 2
He leido el manual de MYSQL pero no encuntro la solucion o bien no entendi como hacerlo, ya
que no encontre ejemplos o referencias con respecto a el problema que tengo.
He intentado algo como esto pero no anda como corresponde:
Código PHP:
mysql_query("
select
tabla_1.id as id,
tabla_1.texto as texto,
count(tabla_2.id) as registros_t2,
count(tabla_3.id) as registros_t3
from
tabla_1
left join
tabla_2
on
tabla_1.id = tabla_2.id_tabla_1
left join
tabla_3
on
tabla_1.id = tabla_3.id_tabla_1
group by
tabla_1.id
order by
tabla_1.id
");
order by
registros_t2
resultado:
--------------------------------------------
id (1) texto (hola) registros_t2 (3) registros_t3 (0)
id (2) texto (casa) registros_t2 (2) registros_t3 (1)
--------------------------------------------
ejemplo 2:
order by
registros_t3
resultado:
--------------------------------------------
id (2) texto (casa) registros_t2 (2) registros_t3 (1)
id (1) texto (hola) registros_t2 (3) registros_t3 (0)
--------------------------------------------
Gracias por su ayuda..!!