Duvida no MAX SQL

15/02/2022

0

Preciso que para cada referencia,nome produto, almoxarifado e tipo de saldo, ele traga o último documento e sua quantidade

SELECT
DOCI.DOCUMENTO,
SLD.DATA,
SLD.ALMOXARIFADO,
SLD.TIPO_SALDO,
SLD.QUANTIDADE,
DOC.DATA_MOVIMENTO,
COMB.REFERENCIA,
COMB.NOME_PRODUTO

FROM
PCM_DOCUMENTO DOC,
PCM_DOCUMENTO_ITEM DOCI,
PCM_SALDO_DIARIO SLD,
VW_COMBINACAO COMB

WHERE
DOCI.DOCUMENTO = DOC.DOCUMENTO AND
DOCI.COMBINACAO = SLD.COMBINACAO AND
DOCI.ALMOXARIFADO = SLD.ALMOXARIFADO AND
SLD.DATA = DOC.DATA_MOVIMENTO AND
SLD.COMBINACAO = COMB.COMBINACAO AND
DOC.DATA_MOVIMENTO>{ts '2021-02-01 00:00:00'} and
SLD.ALMOXARIFADO IN ('000003' , '000034') AND
SLD.TIPO_SALDO IN ('001' , '002') AND
COMB.REFERENCIA LIKE '%SA%'
Antonio Rodrigues

Antonio Rodrigues

Responder

Posts

15/02/2022

Emerson Nascimento

SELECT
	COMB.REFERENCIA,
	COMB.NOME_PRODUTO,
	SLD.ALMOXARIFADO,
	SLD.TIPO_SALDO,
	MAX(DOC.DOCUMENTO) DOCUMENTO
FROM
	PCM_DOCUMENTO DOC
INNER JOIN
	PCM_DOCUMENTO_ITEM DOCI ON DOCI.DOCUMENTO = DOC.DOCUMENTO
INNER JOIN
	PCM_SALDO_DIARIO SLD ON SLD.COMBINACAO = DOCI.COMBINACAO AND
	SLD.ALMOXARIFADO = DOCI.ALMOXARIFADO AND
	SLD.DATA = DOC.DATA_MOVIMENTO
INNER JOIN
	VW_COMBINACAO COMB ON COMB.COMBINACAO = SLD.COMBINACAO
WHERE
	DOC.DATA_MOVIMENTO > {ts '2021-02-01 00:00:00'} AND
	SLD.ALMOXARIFADO IN ('000003' , '000034') AND
	SLD.TIPO_SALDO IN ('001' , '002') AND
	COMB.REFERENCIA LIKE '%SA%'
GROUP BY
	COMB.REFERENCIA,
	COMB.NOME_PRODUTO,
	SLD.ALMOXARIFADO,
	SLD.TIPO_SALDO
existe uma quantidade por documento? ("último documento e sua quantidade")
Responder

15/02/2022

Antonio Rodrigues

SELECT
	COMB.REFERENCIA,
	COMB.NOME_PRODUTO,
	SLD.ALMOXARIFADO,
	SLD.TIPO_SALDO,
	MAX(DOC.DOCUMENTO) DOCUMENTO
FROM
	PCM_DOCUMENTO DOC
INNER JOIN
	PCM_DOCUMENTO_ITEM DOCI ON DOCI.DOCUMENTO = DOC.DOCUMENTO
INNER JOIN
	PCM_SALDO_DIARIO SLD ON SLD.COMBINACAO = DOCI.COMBINACAO AND
	SLD.ALMOXARIFADO = DOCI.ALMOXARIFADO AND
	SLD.DATA = DOC.DATA_MOVIMENTO
INNER JOIN
	VW_COMBINACAO COMB ON COMB.COMBINACAO = SLD.COMBINACAO
WHERE
	DOC.DATA_MOVIMENTO > {ts '2021-02-01 00:00:00'} AND
	SLD.ALMOXARIFADO IN ('000003' , '000034') AND
	SLD.TIPO_SALDO IN ('001' , '002') AND
	COMB.REFERENCIA LIKE '%SA%'
GROUP BY
	COMB.REFERENCIA,
	COMB.NOME_PRODUTO,
	SLD.ALMOXARIFADO,
	SLD.TIPO_SALDO
existe uma quantidade por documento? ("último documento e sua quantidade")

Sim, cada documento tem seu tipo de saldo (1 e 2) com a descrição de referencia, produto, quantidade e a data de movimento, preciso ver em cada referencia, produto e tipo de saldo, sua ultima quantidade movimentada.
Responder

15/02/2022

Antonio Rodrigues

SELECT
	COMB.REFERENCIA,
	COMB.NOME_PRODUTO,
	SLD.ALMOXARIFADO,
	SLD.TIPO_SALDO,
	MAX(DOC.DOCUMENTO) DOCUMENTO
FROM
	PCM_DOCUMENTO DOC
INNER JOIN
	PCM_DOCUMENTO_ITEM DOCI ON DOCI.DOCUMENTO = DOC.DOCUMENTO
INNER JOIN
	PCM_SALDO_DIARIO SLD ON SLD.COMBINACAO = DOCI.COMBINACAO AND
	SLD.ALMOXARIFADO = DOCI.ALMOXARIFADO AND
	SLD.DATA = DOC.DATA_MOVIMENTO
INNER JOIN
	VW_COMBINACAO COMB ON COMB.COMBINACAO = SLD.COMBINACAO
WHERE
	DOC.DATA_MOVIMENTO > {ts '2021-02-01 00:00:00'} AND
	SLD.ALMOXARIFADO IN ('000003' , '000034') AND
	SLD.TIPO_SALDO IN ('001' , '002') AND
	COMB.REFERENCIA LIKE '%SA%'
GROUP BY
	COMB.REFERENCIA,
	COMB.NOME_PRODUTO,
	SLD.ALMOXARIFADO,
	SLD.TIPO_SALDO
existe uma quantidade por documento? ("último documento e sua quantidade")

Sim, cada documento tem seu tipo de saldo (1 e 2) com a descrição de referencia, produto, quantidade e a data de movimento, preciso ver em cada referencia, produto e tipo de saldo, sua ultima quantidade movimentada.

Que é o campo SLD.QUANTIDADE.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar