Hola de nuevo...
Así ya cambia la cosa... lo que preguntas ahora nada tiene que ver a la forma en que planteaste tu problema original. Lo puedes hacer utilizando un LEFT JOIN sobre la misma tabla (utilizando un alias) checa este script:
Código MySQL:
Ver original+------+--------+--------+
| Id | CampoA | CampoB |
+------+--------+--------+
| 1 | 1 | 0 |
| 2 | 1 | 1 |
| 3 | 2 | 1 |
| 4 | 2 | 1 |
+------+--------+--------+
-> ON T1.CampoA
= T2.CampoA
AND T2.CampoB
= 0 +------+--------+--------+------+--------+--------+
| Id | CampoA | CampoB | Id | CampoA | CampoB |
+------+--------+--------+------+--------+--------+
| 2 | 1 | 1 | 1 | 1 | 0 |
+------+--------+--------+------+--------+--------+
Observa que utilizo dos alias para la misma tabla (T1, T2). Para el LEFT JOIN estoy poniendo en el ON la unión por CampoA, pero estoy filtrando
SÓLO AQUELLOS REGISTROS QUE TENGAN UN CAMPOB=0. Para el FROM estoy seleccionando sólo los registros con Campo B = 1... al hacer la unión observa que sólo el primer caso tiene información correspondiente a la tabla LEFT... pues aquí sí se da el caso de un registro que tiene a la vez CampoB = 1 y CampoB = 0...
Para completar la consulta lo único que faltaría es agregar con un AND en la condición final T2.CampoA is null (o T2.id o T2.CampoB... es exactamente lo mismo) y modificar el select para que te regrese sólo el dato que quieres.
Dale un vistazo para ver si es lo que necesitas.
Finalmente una duda existencial: ¿Por qué razón no quieres/puedes usar subconsultas?
Saludos
Leo.