Hola Bacc:
Tal como tienes tu consulta, es imposible que te arroje resultados, ya que al utilizar sólo el operador AND estás poniendo el equivalente a decir que quieres una camisa negra que al mismo tiempo sea blanca
por lo tanto, es necesario que utilices el operador OR, pero con un pequeño "truco" veamos el ejemplo. Supongamos que tienes esta tabla;
Código MySQL:
Ver original+------+----------+----------------+-------+
| id | id_padre | id_informatica | nivel |
+------+----------+----------------+-------+
| 1 | 3 | 1 | 3 |
| 2 | 3 | 9 | 3 |
| 3 | 4 | 1 | 3 |
| 4 | 5 | 9 | 3 |
| 5 | 6 | 2 | 3 |
| 6 | 7 | 3 | 3 |
+------+----------+----------------+-------+
entonces, si utilizamos el operador OR, tenemos esto:
Código MySQL:
Ver original -> (id_informatica
= 1 AND nivel
>= 2) -> (id_informatica
= 9 AND nivel
>= 1); +------+----------+----------------+-------+
| id | id_padre | id_informatica | nivel |
+------+----------+----------------+-------+
| 1 | 3 | 1 | 3 |
| 2 | 3 | 9 | 3 |
| 3 | 4 | 1 | 3 |
| 4 | 5 | 9 | 3 |
+------+----------+----------------+-------+
ya que los id's 5 y 6 no tienen los id_informática 1 y 9 que te interesan... sin embargo, el ID 4 y el ID 5 sólo tienen uno cada uno de ellos...
¿Qué pasaría si haces un COUNT() de las veces que aparece el id_padre en esta lista?, resultaría que para el ID=3 el COUNT sería = 2, mientras que para los ID's 4 y 5 sería de 1 cierto?
LUEGO ENTONCES, puedes utilizar FILTRAR este COUNT para que sólo te muestre aquellos que tienen un COUNT() = 2. (recuerda que para filtrar un COUNT utilizas la cláusula HAVING).
Haz la prueba y nos comentas.
Saludos
Leo.