Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2015, 06:12
vani18
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 5 meses
Puntos: 5
validaciones entre varias compras SQL, subconsultas

hola miren tengo una consulta, en la cual deberia validar varias veces por lo que creo que junto a php , deberia hacerlo en partes y no en una sola consulta, miren por ejemplo


en resumen el tema es asi...

tengo clientes que realizan compras por ejemplo sera asi

cliente / id_compra (COMPRAS)

1-----------45
2-----------7
3-----------88
4-----------46
1-----------32
1-----------102
4-----------66
3-----------99
3-----------105

-------------------------

y por otro lado tengo una tabla donde tengo los id_compra a los que se envio mails, pueden ser calificadas

id_compra (MAILS_ENVIADOS)

32
102
88
66
7
105

--------------------------

y por otro lado tengo las compra que ya fueron calificadas

id_compra (CALIFICADAS)

7
105

--------------
bueno lo que quiero es buscar por un determinado ID, supongamos que es "3" validar sus id_compras , en este caso son (88,99,105)
ahi seria una validacion . luego verificar que esas compras esten en la tabla (MAILS ENVIADOS) osea en la segunda tabla que coloque, osea que esas compras estuvieron aptas para ser calificadas, ahi seria una segunda validacion. y por ultimo de esas compras de ese usuario, teniendo las que estuvieron aptas para ser calificadas, descartar las que esten en la ultima tabla , osea en la tabla CALIFICADAS

por ejemplo del cliente 3 hizo las compras (88,99,105) tuvo para ser calificadas la (88,105) pero solo califico la (105) entonces entre esas validaciones lo que me deberia traer es solo la compra "88"

yo preferi hacerlo con sql y php., asi ? por las validaciones...



osea abajo le entra las variables de cliente y de una compra esta query devuelve SI o NO. si puede ser calificada. por ahi la compra no existe como compra del cliente, tal vez no se le envio el mail, y tal vez nunca estuvo apta para ser calificada, o ya se califico...

Código MySQL:
Ver original
  1. SELECT a.id_compra FROM compras po JOIN MAILS_ENVIADOS b
  2.          ON a.id_compra=b.id_compra WHERE a.id_customer=3;

Código MySQL:
Ver original
  1. SELECT 1 FROM CALIFICADAS WHERE id_compra=88;
Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las reglas del foro, por favor.,

Última edición por gnzsoloyo; 02/12/2015 a las 07:19