Tengo una pregunta bastante simple con SQL que tengo problemas para descubrir. Supongamos que tengo las siguientes tablas:SQL COUNT con WHERE cláusula
company:
company_id
company_title
users:
user_id
username
company_owners:
company_id
user_id
Ahora, puede haber varios usuarios como propietarios de la empresa. He aquí algunos datos de ejemplo:
company:
1, "A Company"
2, "B Company"
3, "C Company"
users:
1, "A User"
2, "B User"
3, "C User"
company_owners:
1,1
1,2
1,3
2,3
Estoy tratando de crear una consulta (MySQL) que obtiene el COMPANY_TITLE, así como el número de propietarios de esa empresa, basado en propietario de una empresa específica. Así, por ejemplo:
Ejemplo de consulta (en Inglés) lo siguiente: Obtener número de propietarios de cada empresa que "Usuario C" es un propietario para:
company_id=1, company_title="A Company", num_owners=3
company_id=2, company_title="B Company", num_owners=1
company_id=3, company_title="C Company", num_owners=0
que he intentado:
SELECT COUNT(user_id), company.* FROM `company`
LEFT JOIN `company_owners` ON company_owners.company_id = company.company_id
WHERE company_owners.user_id=1 GROUP BY company_id
Pero eso siempre me da un número de propiedad de "1", supongo porque solo CUENTA las filas donde user_id = 1.
¿Alguien tiene alguna idea? Puedo proporcionar más detalles si es necesario.
¡Muchas gracias!
¿Cuál es 'course_id'? –
Lo siento, fue un error – Chris