Ayuda SAP

Consulta ultima compra Cliente

Hola amigos buenas tardes,

Esta mañana estuve revisando un poco la solicitud que monte acerca de la ultima compra de todos los clientes y tengo esto:

SELECT T2."CardCode", T2."CardName", T2."DocDate", T2."Phone1", T2."Phone2", T2."Cellular", T2."SlpCode", T2."E_Mail"
FROM (SELECT T0."CardCode", T0."CardName", T0."DocDate", T1."Phone1", T1."Phone2", T1."Cellular", T1."SlpCode", T1."E_Mail" 
FROM OINV T0  INNER JOIN OCRD T1 ON T0."CardCode" = T1."CardCode"
WHERE T0."CardCode" LIKE '%%CL%%' OR T0."CardCode" LIKE '%%AV%%'
ORDER BY T0."DocDate" DESC
)T2
GROUP BY T2."CardCode", T2."CardName", T2."DocDate", T2."Phone1", T2."Phone2", T2."Cellular", T2."SlpCode", T2."E_Mail"

La idea es, mediante subconsulta, ordenar antes para que te devuelva primero los más recientes y hacer luego el GROUP BY, pues cortará dejando solo el primero según las agrupaciones pero no he logrado que funcione

Alguien que me pueda ayudar se lo agradeceria bastante

Si solo buscas que te arroje el mismo resultado, pero en orden por la fecha… Creo que solo tienes que sacar ese Order By y agregarlo al final de toda tu consulta, es decir despues del GROUP BY…

ORDER BY T2.“DocDate” DESC

Saludos.

1 me gusta

Buenas, podrias intentar con esto

1 me gusta

Con este código puedes obtener lo que estas tratando.
Para SAP HANA

select *
	from (select A."CardCode" ,A."DocNum",A."DocDate",A."FolioNum", A."DocTotal", row_number() over (partition by A."CardCode" order by A."CardCode",A."DocEntry" desc) SEQNUM
		  from OINV A
		 ) t
	where t."SEQNUM" <= 1

Saludos