Claro mudei o nome dos campos, e nome de tabelas pois não acho viavel mostrar o real...
SELECT tbl1.x, tbl1.y, tbl1.z, tbl2.a, tbl2.b, tbl3.c
FROM tbl1 LEFT JOIN tbl2
where left(tbl1.x,4) = tbl2.b
AND tbl1.y='P'
AND exists (SELECT *
FROM tbl1 JOIN tbl2
WHERE tbl1.y='M'
AND left(tbl1.x,4) = tbl2.b)
ORDER BY tbl1.x
A parte left(tbl1.x,4) faz o seguinte, pega os 4 primeiros caracters e compara com o users.b,ou seja um nome Mariovaldo...só será comparado Mari..
Parece facil ne? Depois de feito..tudo é mais facil hehehe