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

Select Max que no me pida Agrupar

Estas en el tema de Select Max que no me pida Agrupar en el foro de Bases de Datos General en Foros del Web. Tengo dos tablas una de ventas y otra de cobros necesito que me visualice un ultimo cobro del cliente para eso uso una funcion max ...
  #1 (permalink)  
Antiguo 20/11/2009, 14:03
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Select Max que no me pida Agrupar

Tengo dos tablas una de ventas y otra de cobros necesito que me visualice un ultimo cobro del cliente para eso uso una funcion max la cual pide agrupar los demas campos que no esten dentro del max pero al agrupar por consiguiente me resume todos los articulos cantidaddes y precios similares, lo que yo quiero es qu ese select mas no me pida agrupar y me puedan salir todos los registros aunque sean repetidos acontinuacion muestro una parte del codigo:
pero me corta algunas cantidades de productos que quiero que muestre
lo unico que no quiero es que me agrupe pero que solo me muestre el ultimo cobro o pago que tiene ese cliente sus clave de articulo, cantidad y preciopiva de todos sin agrupar similares

SELECT
VENTASD.CVEVEN,
CLIENTES.CVECLI,
CLIENTES.NOMEMPRESA,
LEFT(CLIENTES.NOMBRE,LENGTH(CLIENTES.NOMBRE))+' '+LEFT(CLIENTES.PATER,LENGTH(CLIENTES.PATER))+' '+LEFT(CLIENTES.MATER,LENGTH(CLIENTES.MATER)) AS NOMBRE,
CLIENTES.D_CREDITO,
VENTASD.CLAVEART,
ARTICULO.DESCRIBEAR,
VENTASD.FECHA_V,
( MAX (LETRA_P.FECHA_H)) AS MAXIMA,
(VENTASD.CVEVEN=LETRA_P.CVEVEN)),
((VENTASD.fecha_v)+ (CLIENTES.d_credito+4)) as FECHA_LIM,
IIF(((VENTASD.fecha_v)+ (CLIENTES.d_credito+4))< (MAX (LETRA_P.FECHA_H)),'RETRASO','A TIEMPO') AS LIMITE,
VENTASD.CANTIDADV AS CANTIDAD ,
VENTASD.PRECIOPIVA AS IMPORTE_VTA,
VENTASD.CVE_PROMO,
n2.cve_notac,
n2.noaclara,
N2.CANT_NC,
n2.IMPORTE_NC AS IMPORTE,
IIF(N2.IMPORTE_NC IS NULL,VENTASD.PRECIOPIVA,VENTASD.PRECIOPIVA-N2.IMPORTE_NC)AS TOTAL_MENOS_DEV,
--IIF(((VENTASD.fecha_v)+ (CLIENTES.d_credito+4))< (MAX (LETRA_P.FECHA_H)),'RETRASO','A TIEMPO') AS LIMITE,
VENTASD.CVE_PROMO

FROM
VENTASD VENTASD
FULL OUTER JOIN
ARTICULO ARTICULO
ON (VENTASD.CLAVEART=ARTICULO.CLAVEART)
INNER JOIN
LETRA_P LETRA_P
ON(VENTASD.CVEVEN=LETRA_P.CVEVEN)
AND VENTASD.CANCE2=FALSE
LEFT JOIN
CLIENTES CLIENTES
ON(CLIENTES.CVECLI=VENTASD.CVECLI)
FULL OUTER JOIN
NOTA_C_D N2
ON(VENTASd.CLAVEART=N2.CLAVEART)
AND(ventasd.CVEVEN=n2.CVEVEN)
AND n2.cancela_n=FALSE AND N2.CVE_CONCP=02

WHERE
VENTASD.FECHA_V Between '10/01/2009' And '10/31/2009'

AND LETRA_P.HABER <> 0
GROUP BY
VENTASD.CVEVEN ,
CLIENTES.CVECLI,
VENTASD.CVEVEN,
VENTASD.fecha_v,
CLIENTES.d_credito,
CLIENTES.CVECLI,
CLIENTES.NOMEMPRESA,
VENTASD.CLAVEART,
ARTICULO.DESCRIBEAR,
CLIENTES.NOMBRE,
CLIENTES.PATER,
CLIENTES.MATER,
VENTASD.CVE_PROMO,
n2.cve_notac,
n2.noaclara,
n2.CANT_NC,
n2.IMPORTE_NC,
VENTASD.CANTIDADV,
VENTASD.PRECIOPIVA
  #2 (permalink)  
Antiguo 20/11/2009, 15:13
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Select Max que no me pida Agrupar

Cuando la función max te pide agrupar, es por que le estas diciendo a la consulta que te muestre un campo que tiene múltiples registros y para cada uno de esos registros existe un valor máximo.

El max no pide agrupación cuando se ejecuta la consulta con solo ese parámetro.

Es absolutamente necesario. De lo contrario el sistema no tendría criterio para saber cual valor máximo mostrar.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 20/11/2009, 16:01
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Select Max que no me pida Agrupar

Entonces como podria hacerle para mostrar los ultimos pagos de un cliente pero que me mostrara todos los productos de la venta del ultimo cobro de todas las ventas alguna sugerencia, Donde podria colocar el MAX
  #4 (permalink)  
Antiguo 20/11/2009, 16:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Select Max que no me pida Agrupar

Cita:
pero que me mostrara todos los productos de la venta del ultimo cobro de todas las ventas
Tu mismo te estás respondiendo: Tienes que agrupar las ventas por cliente y producto...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 20/11/2009, 18:31
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Select Max que no me pida Agrupar

Ok si si agrupa pero en esas ventas estan a detalle por articulo pero puede haber ventas que compraron dos veces y esta repetido el articulo y ala hora de agrupar dicho articulo solo me muestra uno solo y si sumo todos los articulos me suma todo y sale mal el resultado
  #6 (permalink)  
Antiguo 20/11/2009, 18:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Select Max que no me pida Agrupar

Cita:
pero puede haber ventas que compraron dos veces
Si tienes una misma venta que se registró dos veces, tienes un serio problema de diseño, porque eso no debería suceder. Es una falla de consistencia.
Cita:
y ala hora de agrupar dicho articulo solo me muestra uno solo
Tal vez no entiendas: Lo que deberías agrupar es por cliente y producto, obviamente haciendo el cálculo de cuántos productos compró, cuales fueron, cuanto pagó, etc.

Miralo de esta forma: Estás haciendo un reporte. Ese reporte debe tener un detalle de tal forma que lo entienda alguien que no sepa para qué sirve (a prueba de tontos).
Planteate cómo debería ser el resultado de ese reporte, y desde allí empieza a ver cómo se agruparán los datos, que niveles de subtotales necesitas, qué sumadores y qué contadores intervienen. Cuando lo hayas terminado, recién allí podremos trabajar en una consulta que pueda cumplir con eso.

Y para ello es necesario saber cómo están creadas las tablas (estructura y tipos de columna), de lo contrario solamente te podremos dar consejos generales...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 21/11/2009, 08:31
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Select Max que no me pida Agrupar

Primero que nada gracias por tu ayuda, a lo que me refiero es que son diferentes ventas pero en las ventas tienen productos iguales a la hora de agrupar solo me respeta uno lo toma como si fuera solo uno por ejemplo:

CVEVEN | CVECLI |CLAVEART | DESCRIBEAR | CANTIDAD | IMPORTE
198987 004295 1008 PAPEL ESTRAZA 5 KG 1 44.00
198987 004295 209 CANELA 1 80.00
198987 004295 597 FRIJOL 10/1000KG 1 192.00
198987 004295 597 FRIJOL 10/1000KG 1 192.00

y si coloco un sum para cantidad y para precio me los suba doble todas las demas ventas
disculpa la molestia
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 14:32.