Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/05/2009, 07:00
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Consultando 2 veces con IN (SELECT ....

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 original
  1. mysql> SELECT p.id,c.nombre FROM presupuesto p INNER JOIN clientes c USING(cedula);
  2. +------+--------+
  3. | id   | nombre |
  4. +------+--------+
  5. | 1    | jurena |
  6. | 2    | jurena |
  7. | 3    | jurena |
  8. | 4    | colote |
  9. | 5    | colote |
  10. +------+--------+
  11. 5 ROWS IN SET (0.00 sec)
  12.  
  13. mysql> SELECT p.id,c.nombre FROM pedidos p INNER JOIN clientes c USING(cedula);
  14. +------+--------+
  15. | id   | nombre |
  16. +------+--------+
  17. | 1    | colote |
  18. | 2    | huesos |
  19. +------+--------+
  20. 2 ROWS IN SET (0.00 sec)
  21.  
  22. mysql> SELECT *FROM clientes WHERE
  23. cedula IN(SELECT cedula FROM presupuesto
  24. UNION
  25. SELECT cedula FROM pedidos);
  26. +--------+--------+
  27. | cedula | nombre |
  28. +--------+--------+
  29. | 123    | jurena |
  30. | 124    | colote |
  31. | 125    | huesos |
  32. +--------+--------+
  33. 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
__________________
Without data, You are another person with an opinion.
W. Edwads Deming