
16/03/2011, 17:00
|
| | Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses Puntos: 0 | |
Respuesta: Necesito ayuda con unas consultas que no me salen. Cita:
Iniciado por Heimish2000 Para el punto uno te basta con hacer un GROUP BY de empresa.razon_soc
Código SQL:
Ver originalSELECT empresa.razon_soc AS Empresa FROM empresa INNER JOIN emp_serv ON emp_serv.id_empresa=empresa.id INNER JOIN emp_act ON emp_act.id_empresa=empresa.id INNER JOIN servicio ON emp_serv.id_servicio=servicio.id INNER JOIN actividad ON emp_act.id_actividad=actividad.id WHERE servicio.nombre IN ('Comunicación', 'Hosting') GROUP BY empresa.razon_soc
Para el punto dos, partiendo de la del punto uno, puedes hacer una columna que sea COUNT(*) (a parte de la de la razón social) que te indicará el número de veces que aparece esa razón social. Si luego añades un HAVING por el número de apariciones que quieres (una por cada servicio), ya lo tendrás.
Código SQL:
Ver originalSELECT empresa.razon_soc AS Empresa, COUNT(*) AS b FROM empresa INNER JOIN emp_serv ON emp_serv.id_empresa=empresa.id INNER JOIN emp_act ON emp_act.id_empresa=empresa.id INNER JOIN servicio ON emp_serv.id_servicio=servicio.id INNER JOIN actividad ON emp_act.id_actividad=actividad.id WHERE servicio.nombre IN ('Comunicación', 'Hosting') GROUP BY empresa.razon_soc HAVING b > 1
Funciono todo perfecto, gracias por tu tiempo y por la prolijidad en la explicación. |