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

[SOLUCIONADO] Select a 3 tabblas

Estas en el tema de Select a 3 tabblas en el foro de Bases de Datos General en Foros del Web. Hola amigos, tengo la siguiente lógica: - Tengo una tabla en donde existen cualquier cantidad de Ordenes_de_Servicio - Una orden_de_servicio esta asociada a un contrato ...
  #1 (permalink)  
Antiguo 02/07/2017, 14:32
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Sonrisa Select a 3 tabblas

Hola amigos, tengo la siguiente lógica:
- Tengo una tabla en donde 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

Necesito hacer una consulta para conocer el Total de Ordenes_de_Servicio por cada cliente

Para ello tengo estas 3 tablas:
Código:
tbl_ordenes > id_orden
tbl_ordenes > id_contrato
tbl_ordenes > titulo

tbl_contratos > id_contrato
tbl_contratos > id_cliente

tbl_cliente > id_cliente
tbl_cliente > nombre
Para ello hago la siguiente consulta:
Código:
SELECT tbl_clientes.id_cliente, tbl_clientes.nombre,
      tbl_contratos.id_contrato, tbl_contratos.nombre,
      tbl_ordenes.id_orden, tbl_ordenes.titulo

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 `tbl_clientes`.`nombre`
La consulta me funciona a la perfeccion, pero no sé como crear otra columna con el total de Ordenes_de_Servicio por cada cliente

Última edición por julia2021; 02/07/2017 a las 14:57
  #2 (permalink)  
Antiguo 02/07/2017, 22:33
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Sonrisa Respuesta: Select a 3 tabblas

Amigos ya los resolví:

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

Etiquetas: innerjoin, select
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 04:09.