Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta ultimo pedido de 1 cliente

Estas en el tema de Consulta ultimo pedido de 1 cliente en el foro de SQL Server en Foros del Web. ----AYUDA--- Hola a todos, he aqui la sentencia que me esta quemando el cerebro :P Tengo las tablas: CLIENTES(CodCliente,NomCliente,...otros campos mas) PRODUCTOS(CodProducto,NomProducto,...otros campos mas) CABECERAPEDIDO(CodCabPedido, ...
  #1 (permalink)  
Antiguo 24/07/2010, 17:41
 
Fecha de Ingreso: julio-2010
Ubicación: Arequipa
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Consulta ultimo pedido de 1 cliente

----AYUDA---

Hola a todos, he aqui la sentencia que me esta quemando el cerebro :P

Tengo las tablas:

CLIENTES(CodCliente,NomCliente,...otros campos mas)

PRODUCTOS(CodProducto,NomProducto,...otros campos mas)

CABECERAPEDIDO(CodCabPedido, CodCliente, ...otros datos mas)

DETALLEPEDIDO(CodCabPedido, CodProducto, Cantidad,...otros datos mas)



Lo que necesito es que me muestre el ultimo Pedido de un cliente en especifico.



Si tengo:

CLIENTES(123,Pablo Pinto, ....)
CLIENTES(124,Angela Pinto,...)

PRODUCTOS(111,Manzanas,...)
PRODUCTOS(112,Maranjas,...)
PRODUCTOS(113,Peras,...)


CABECERAPEDIDO(001,123,...)
CABECERAPEDIDO(002,124,...)
CABECERAPEDIDO(003,124,...)
CABECERAPEDIDO(004,123,...)

DETALLEPEDIDO(001,111,1,...)
DETALLEPEDIDO(001,112,1,...)
DETALLEPEDIDO(002,112,6,...)
DETALLEPEDIDO(003,112,3,...)
DETALLEPEDIDO(003,113,1,...)
DETALLEPEDIDO(004,111,2,...)



Me gustaria que me mostrara el ultimo Pedido del Cliente 124 Angela Pinto CodCliente, NomProducto, Cantidad

CodCliente, NomProducto, Cantidad
124, Naranjas, 3
124, Peras, 1
Espero me haya dejado entender, agradeceria mucho su ayuda

Última edición por angel_ita; 24/07/2010 a las 18:21
  #2 (permalink)  
Antiguo 25/07/2010, 10:22
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consulta ultimo pedido de 1 cliente

Prueba asi:
Código SQL:
Ver original
  1. SELECT cp.CodCliente, p.NomProducto, dp.Cantidad
  2. FROM (
  3.   SELECT MAX(CodCabPedido) CodCabPedido, CodCliente
  4.   FROM CABECERAPEDIDO
  5.   GROUP BY CodCliente
  6. ) cp
  7. INNER JOIN DETALLEPEDIDO dp ON cp.CodCabPedido = dp.CodCabPedido
  8. INNER JOIN PRODUCTOS p ON dp.CodProducto = p.CodProducto
  9. WHERE cp.CodCliente = 124
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 26/07/2010, 12:39
 
Fecha de Ingreso: julio-2010
Ubicación: Arequipa
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Consulta ultimo pedido de 1 cliente

Gracias me sirvio de mucho el codigo que posteo, no me dio el resultado que esperaba pero gracias a el pude terminar mi sentencia que resulto en la siguiente sentencia:

Código SQL:
Ver original
  1. SELECT C.NomCliente, DP.Cantidad, P.NomProducto, CP.CodCabPedido
  2. FROM Clientes C
  3.   INNER JOIN (CabeceraPedido CP
  4.       INNER JOIN (DetallePedido DP
  5.          INNER JOIN Productos P
  6.          ON DP.CodProducto=P.CodProducto)
  7.       ON CP.CodCabPedido=DP.CodCabPedido)
  8.    ON C.CodCliente = CP.CodCliente
  9. WHERE CP.CodCabPedido =
  10. (SELECT MAX(CaP.CodCabPedido) FROM CP WHERE CP.CodCliente= 124 GROUP BY CP.CodCliente)

Etiquetas: cliente, pedido, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:03.