Anterior Siguiente

Tarea 11:  Mostrar sólo clientes que tienen pedidos o  pagos

La base de datos contiene clientes que no tienen pedidos ni pagos. La consulta para el informe de clientes devuelve todos los clientes. Cuando ejecuta el informe, hay filas de cliente que muestran sol las cabeceras de columna para las tablas Orders y Payments, tal como se muestra en la figura 12-23.

Figura 12-23 Informe que no muestra datos de pedidos ni pagos para un cliente

Figura 12-23  Informe que no muestra datos de pedidos ni pagos para un cliente

Puede excluir clientes que no tengan pedidos ni pagos cambiando la consulta para el informe de clientes.

1  
2  
3  
  WHERE
  EXISTS
  (SELECT Orders.customerNumber
  FROM Orders
  WHERE Customers.customerNumber =
  Orders.customerNumber)
  OR
  EXISTS
  (SELECT Payments.customerNumber
  FROM Payments
  WHERE Customers.customerNumber =
  Payments.customerNumber)
La cláusula WHERE de EXISTS comprueba si las tablas Orders y Payments contienen valores de customerNumber que coincidan con los valores de customerNumber de la tabla Customers. Sólo se seleccionan las filas que tienen valores de customerNumber coincidentes. La consulta completa debe tener un aspecto como el que se muestra en la figura 12-24.

Figura 12-24 Consulta SELECT actualizada en Editar conjunto de datos

Figura 12-24  Consulta SELECT actualizada en Editar conjunto de datos
4  
5  

(c) Copyright Actuate Corporation 2013