Muchísimas gracias!!! las dos opciones funcionan perfectas! ahora, me gustaría rizar un poquito más el rizo pero creo que no se puede, a ver si es así...
Voy a poner un ejemplo:
Código:
mysql> select * from padre;
+-------------+----------------+
| nombrePadre | correoPadre |
+-------------+----------------+
| Juan | juan@padre.es |
| Luis | luis@padre.es |
| Paqui | paqui@madre.es |
| Cristina | cris@madre.es |
+-------------+----------------+
4 rows in set (0.00 sec)
mysql> select * from hijo;
+------------+----------+
| nombreHijo | padre |
+------------+----------+
| María | Luis |
| María | Cristina |
| Pepe | Juan |
+------------+----------+
3 rows in set (0.00 sec)
Me gustaría extraer el correo elctrónico y número de padres de los niños que se llaman María.
Código:
mysql> select correoPadre, sum(if(nombreHijo = 'Maria',1,0)) from padre,hijo where nombreHijo='Maria' AND nombrePadre = padre;
+---------------+-----------------------------------+
| correoPadre | sum(if(nombreHijo = 'Maria',1,0)) |
+---------------+-----------------------------------+
| luis@padre.es | 2 |
+---------------+-----------------------------------+
1 row in set (0.00 sec)
Me falta el correo de su madre, está claro que es porque sum trunca el resultado a una única fila (lo mismo me pasaría con la opción de GROUP BY), ¿podría obtener dos filas?
O quizá en lugar de dos filas un número variable de columnas "correoPadre", que sea 1, 2 o las que hiciera falta?
Gracias!