Hola amigos, tengo la siguiente consulta que involucra a 3 tablas y me gustaría preguntarles si esta optimizada o si tienen ideas para mejorarla
Código:
SELECT tbl_clientes.id_cliente, tbl_clientes.nombre,
tbl_contratos.id_contrato, tbl_contratos.nombre,
tbl_ordenes.id_orden, tbl_ordenes.titulo, COUNT(*) As total
FROM tbl_ordenes INNER JOIN tbl_contratos
ON tbl_ordenes.id_contrato = tbl_contratos.id_contrato
INNER JOIN tbl_clientes
ON tbl_clientes.id_cliente = tbl_contratos.id_cliente
GROUP BY `tbl_clientes`.`id_cliente`
ORDER BY `total` DESC
La lógica de las tablas es:
- En una tabla existen cualquier cantidad de Ordenes_de_Servicio
- Una orden_de_servicio esta asociada a un contrato
- Y a su vez un contrato esta asociado a un cliente