Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/12/2009, 09:00
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: aprendiendo a usar los join.

Si tienes un valor usado como clave en NULL, tienes un problema de defición de tablas o bien no estás usando tablas InnoDB sino MyISAM y no estás validando los datos entrantes.
En todo caso, tu esquema debería responder a esto:
Cita:
1. Una venta pertenece a un cliente, por lo que debe llevar la clave del cliente.
2. Una venta es realizada por un un empleado, por lo que debe llevar el id del empleado
Si esto se cumple, no debería haber ventas que no tuviesen los dos campos, y por tanto esta consulta debería devolver los datos correctamente:
Código sql:
Ver original
  1. SELECT
  2.     CONCAT(c.first_name,' ',c.surname) Cliente,
  3.     s.VALUE Compra,
  4.     CONCAT(sr.first_name,' ',sr.surname)
  5. FROM sales s
  6.     INNER JOIN  sales_rep sr ON s.code = sr.employee_number
  7.     INNER JOIN customer c ON s.id = c.id;
Esto si y sólo si sales.code corresponde al identificador del vendedor, y sales.id al del cliente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)