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 | [email protected] |
| Luis | [email protected] |
| Paqui | [email protected] |
| Cristina | [email protected] |
+-------------+----------------+
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)) |
+---------------+-----------------------------------+
| [email protected] | 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!