Colote... la consulta que te doy lista unos u otros. No se si la estes aplicando bien. Mira te pongo un pequeño bosquejo que hice para simular tu problema.
Código sql:
Ver originalmysql> SELECT p.id,c.nombre FROM presupuesto p INNER JOIN clientes c USING(cedula);
+------+--------+
| id | nombre |
+------+--------+
| 1 | jurena |
| 2 | jurena |
| 3 | jurena |
| 4 | colote |
| 5 | colote |
+------+--------+
5 ROWS IN SET (0.00 sec)
mysql> SELECT p.id,c.nombre FROM pedidos p INNER JOIN clientes c USING(cedula);
+------+--------+
| id | nombre |
+------+--------+
| 1 | colote |
| 2 | huesos |
+------+--------+
2 ROWS IN SET (0.00 sec)
mysql> SELECT *FROM clientes WHERE
cedula IN(SELECT cedula FROM presupuesto
UNION
SELECT cedula FROM pedidos);
+--------+--------+
| cedula | nombre |
+--------+--------+
| 123 | jurena |
| 124 | colote |
| 125 | huesos |
+--------+--------+
3 ROWS IN SET (0.00 sec)
Como puedes ver, en la tabla presupuesto no está huesos y en la tabla pedidos no está jurena y colote está en ambas. Cuando se aplica el union muestra los 3 clientes.
Es esto lo que necesitas?
Perdón por usar sus nombres... jejeje