Ver Mensaje Individual
  #19 (permalink)  
Antiguo 16/03/2010, 10:23
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: sql no mostrar registro si aparece en las 2 tablas.

lexus si ponemos esto.

Código MySQL:
Ver original
  1. mysql> SELECT t1.id FROM
  2.     -> (SELECT id FROM pedido where id=3
  3.     -> UNION ALL
  4.     -> SELECT id FROM factura where id=3)t1
  5.     -> GROUP BY t1.id
  6.     -> HAVING count(*) =1;
  7. +------+
  8. | id   |
  9. +------+
  10. |    3 |
  11. +------+
  12. 1 row in set (0.00 sec)
  13.  
  14. mysql>

a mi me funciona.

Fijate que es básicamente lo mismo que tratas de hacer.

Asegurate de la existencia de los registros.

Ahora bien, debes tener en cuenta que si esa consulta con esa condición se repite en las 2 tablas, no va a mostrar nada, ya que el having lo va a filtrar.

Por ejemplo...
Si el where lo ponemos en el 4(Registro que no se debe mostrar) no nos va a aparecer nada.

Código MySQL:
Ver original
  1. mysql> SELECT t1.id FROM
  2.     -> (SELECT id FROM pedido where id=4
  3.     -> UNION ALL
  4.     -> SELECT id FROM factura where id=4)t1
  5.     -> GROUP BY t1.id
  6.     -> HAVING count(*) =1;
  7. Empty set (0.00 sec)
  8.  
  9. mysql>
__________________
Without data, You are another person with an opinion.
W. Edwads Deming