Hola a todos. Resulta que no sé muy bien cómo contar el número de apariciones de los registros de una tabla en otra. Me explico.
Tengo dos tablas: materias, elementos.
materias
elementos
Entonces mi objetivo que persigo es mostrar una lista de los registros que tiene la tabla "materias", acompañada del número de veces que aparece cada registro de "materias", en la tabla "elmentos", combinando PHP y SQL.
A voz de pronto se me ha ocurrido hacer una consulta para obtejer los IDentificadores
materia_id de "materias", y luego hacer una consulta a "elementos" contando el número de apariciones que tiene cada uno. Pero claro, entonces a mas registros en "materias" la aplicación tiene que hacer más consultas a "elementos", o sea, un número de consultas variable en función de cuantas filas tenga "materias".
Entonces después he pensado en una subconsulta del tipo:
Código:
SELECT count(elementos.materia_id) from elementos where elementos.materia_id = (select materia_id from materias)
pero claro, esto me falla porque me dice que la subconsulta devuelve más de una fila
¿A alguien se le ocurre una manera más eficiente que la de hacer varias consultas, en función del total de registros que tenga la tabla "materias"?
Un saludo de antemano.