Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Preciso, criar no Load uma data max exemplo:
// ------- Viagem --------- //
LOAD *,
YEAR(DT_RETORNO) AS ANO,
YEAR(DATE(max(DT_RETORNO) )) AS ANO_MAX,
MONTH(DT_RETORNO) AS MES,
DAY(DT_RETORNO) AS DIA,
DATE(DT_RETORNO) AS DATA;
SQL SELECT
A.NR_VIAGEM,
A.NR_VIAGEM_SEQ,
A.CD_VEICULO,
A.CD_MOTORISTA,
A.DT_SAIDA,
A.DT_RETORNO,
A.KM_SAIDA,
A.KM_RETORNO,
A.MM_OBSERVACAO,
A.FL_BLOQUEADA,
A.HM_SAIDA,
A.HM_RETORNO,
B.NM_MOTORISTA,
C.NR_ORDEM,
C.PC_COMISSAO,
C.VL_BASE_COMISSAO,
C.VL_COMISSAO,
D.CD_SITUACAO,
D.VL_TOTAL AS VL_FRETE,
D.CD_LOC_COLETA AS LOCAL_COLETA,
D.CD_LOC_EMISSAO,
D.CD_LOC_ENTREGA AS LOCAL_CHEGADA,
D.QT_PESO_FRETE,
D.CD_NATCARGA,
D.DT_EMISSAO AS DT_EMISSAO_VIAG,
D.NR_CONHEC AS NR_CONHEC_VIAG,
D.SR_CONHEC AS SR_CONHEC_VIAG
FROM VIAGEM A LEFT JOIN MOTORISTA B ON
A.CD_MOTORISTA = B.CD_MOTORISTA
LEFT OUTER JOIN CONHECTOVM C ON
A.NR_VIAGEM = C.NR_VIAGEM AND
A.NR_VIAGEM_SEQ = C.NR_VIAGEM_SEQ
LEFT OUTER JOIN CONHECTO D ON
C.NR_ORDEM = D.NR_ORDEM
WHERE A.DT_RETORNO > '31.12.2014' AND D.CD_SITUACAO <> '3' AND A.FL_BLOQUEADA = 'S';
Andre,
para usar um max no LOAD ou no SQL tem que ter um group by.
Ou, se quiser somente o maior ano, em uma nova tabela dai nao precisa usar o group by, podendo fazer como abaixo
Maior_Ano:
LOAD
YEAR(DATE(max(DT_RETORNO) )) AS ANO_MAX
Resident Tabela;
Outro possibilidade
Ano:
LOAD * INLINE [
Ano ,Valor
2012,1000
2013,1002
2014,1003
2015,1004
2016,1005
2017,1006
];
Maior:
LOAD
max(Ano) as Maior
Resident Ano;
left join (Ano)
LOAD
Maior as Ano,
'Sim' as Maior_Ano
Resident Maior;
Outras informações
Andre,
para usar um max no LOAD ou no SQL tem que ter um group by.
Ou, se quiser somente o maior ano, em uma nova tabela dai nao precisa usar o group by, podendo fazer como abaixo
Maior_Ano:
LOAD
YEAR(DATE(max(DT_RETORNO) )) AS ANO_MAX
Resident Tabela;
Outro possibilidade
Ano:
LOAD * INLINE [
Ano ,Valor
2012,1000
2013,1002
2014,1003
2015,1004
2016,1005
2017,1006
];
Maior:
LOAD
max(Ano) as Maior
Resident Ano;
left join (Ano)
LOAD
Maior as Ano,
'Sim' as Maior_Ano
Resident Maior;
Outras informações
Para retornar o maior valor sem utilizar o group by, pode utilizar da sugestão do rwunderlich, utilizando FieldValue.
Alessandro e Márcio,
Muito obrigado pela ajuda, agora entendi como fazer o valor pela data máxima - sempre ficava na dúvida como fazer!
Um abraço
André Tonini