
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mostrar apenas as três primeiros registros de uma tabela
Pessoal bom dia,
Tenho uma duvida para a seguinte questão:
Estou criando uma visão onde necessito demonstrar as 3 primeiras notas fiscais dos clientes com base na data da ultima compra e descartando as demais notas fiscais.
Na visão que criei, estou apresentando todas as notas fiscais do cliente. Será que vcs poderiam me dar uma ajuda para que não demonstre as demais notas.
Como está apresentando
como está sendo apresentadoComo gostaria que fosse apresentado
como gostaria que fosse apresentado
- Tags:
- Group_Discussions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Boa tarde, veja se isso pode lhe atender via script.
dados:
LOAD * INLINE [
Nota, Cliente, DataEmissão, Valor
10, a, 01/01/2019, 10
20, a, 02/01/2019, 110
30, b, 02/01/2019, 50
40, c, 06/05/2019, 50
50, a, 08/08/2019, 55
60, d, 10/09/2019, 8594
90, d, 12/09/2019, 55
51, d, 15/10/2019, 55
65, d, 16/10/2019, 65
];
NoConcatenate
dados2:
LOAD
*,
if(Cliente=Previous(Cliente),Date(Peek(DataEmissão,-1)), 0) as DataMeioTemp,
if(Cliente=Previous(Cliente),Date(Peek(DataEmissão,-2)), 0) as DataInicialTemp
Resident dados
order by Cliente, DataEmissão;
NoConcatenate
dados3:
LOAD
Cliente&Date(max(DataEmissão)) as chave,
Cliente,
Date(max(DataEmissão)) as LastData
Resident dados2 where DataEmissão <> 0
Group by Cliente;
Concatenate(dados3)
LOAD
Cliente&Date(max(DataMeioTemp)) as chave,
Cliente,
Date(max(DataMeioTemp)) as LastData
Resident dados2 where DataInicialTemp <> 0
Group by Cliente;
Concatenate(dados3)
LOAD
Cliente&Date(max(DataInicialTemp)) as chave,
Cliente,
Date(max(DataInicialTemp)) as LastData
Resident dados2 where DataInicialTemp <> 0
Group by Cliente;
inner join(dados3)
LOAD
Cliente&DataEmissão as chave,
*
Resident dados;
DROP Tables dados2, dados;
E-Mail or Skype - danilo16stochi@hotmail.com
