Hola de nuevo harryp:
Me alegro que la consulta del compañero gnzsoloyo te haya servido para resolver tu problema. Con respecto a mi propuesta, bueno, desde el momento que cambias el contexto de los datos originales pues es posible que no te ayude, soy informático, no divino jejeje... Sin embargo podrías utilizar la misma idea con una pequeña variación. Checa esto:
Código MySQL:
Ver original -> (1,3,'A'),(1,3,'B'),(2,1,'A'),(2,2,'A'),(3,1,'A');
Query OK, 7 rows affected (0.04 sec)
+---------+---------+---------+
| id_lloc | n_tarea | campo_x |
+---------+---------+---------+
| 1 | 1 | A |
| 1 | 2 | A |
| 1 | 3 | A |
| 1 | 3 | B |
| 2 | 1 | A |
| 2 | 2 | A |
| 3 | 1 | A |
+---------+---------+---------+
mysql> #consulta propuesta 1
+---------+
| n_tarea |
+---------+
| 1 |
| 2 |
| 3 |
+---------+
mysql> #consulta propuesta 2
+---------+
| n_tarea |
+---------+
| 1 |
| 2 |
+---------+
Si observas, efectivamente con la propuesta 1 aparece también la n_tarea 3, pero haciendo una modificación a la función COUNT agregando una condición DISTINCT arroja nuevamente los resultados deseados.
No estoy seguro si esta propuesta o la del compalero gnzsoloyo es más eficiente pues como dice acertadamente en su comentario la lógica es completamente diferente, sería cuestión de que probaras y nos comentaras, pero bueno, al menos te ofrece otro panorama de cómo puedes hacer ciertas cosas.
Saludos
Leo