Bom dia Pessoal, resolvi compartilhar com os colegas uma SQL que tive que fazer na empresa onde trabalho, é simples mas creio que possa ser de utilidade a todos, trata-se de toda a movimentação de um produto, no meu caso eu utilizo isso para uma planilha .Net, segue abaixo, lembrando que tudo sempre pode ser melhorado, claro que varia de base pra base, dependendo da regra de negocio ela pode ser alterada.
espero que seja útil aos colegas.
Forte abraço.
SELECT
TMOV.NUMEROMOV as 'Número do Documento',
CASE
TMOV.STATUS
WHEN 'F' THEN 'Faturado'
when 'C' then 'Cancelado'
when 'Q' then 'Quitado'
when 'P' then 'Parc. Fat'
When 'A' then 'A Faturar'
when 'U' then 'Em Faturamento'
when 'R' then 'Recebido'
when 'G' then 'Parcial'
when 'N' then 'Normal'
END AS
'Status do Movimento',
TMOV.DATAEMISSAO as 'Data de Emissão',
TMOV.CODTMV as 'Código do Movimento',
TTMV.NOME as 'Descrição do Movimento',
CASE
TITMTMV.EFEITOSALDOA2
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO ATUAL',
CASE
TITMTMV.EFEITOSALDOA4
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'PEDIDO DE CLIENTES',
CASE
TITMTMV.EFEITOSALDOA5
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO DE DIVULGAÇÃO',
CASE
TITMTMV.EFEITOSALDOA6
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO FÍSICO',
CASE
TITMTMV.EFEITOSALDOA7
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO DE INTERNET',
CASE
TITMTMV.EFEITOSALDOA8
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO DE INTENET',
CASE
TITMTMV.EFEITOSALDOA9
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO CONSIGNAÇÃO',
CASE
TITMTMV.EFEITOSALDOA10
WHEN 'D' THEN 'DIMINUIU'
WHEN 'A' THEN 'AUMENTOU'
END AS 'SALDO DE TRANSFERÊNCIA',
TMOV.CODCFO as 'Código do Cliente',
(TITMMOV.QUANTIDADEORIGINAL) as 'Quantidade'
FROM
TMOV (NOLOCK)
INNER JOIN TITMMOV (NOLOCK) ON TITMMOV.IDMOV = TMOV.IDMOV
INNER JOIN TPRODUTO (NOLOCK) ON TPRODUTO.IDPRD = TITMMOV.IDPRD
INNER JOIN TTMV (NOLOCK) ON TTMV.CODTMV = TMOV.CODTMV
INNER JOIN TITMTMV ON TITMTMV.CODTMV = TMOV.CODTMV
WHERE
TPRODUTO.CODIGOPRD = :CODIGOPRD
order by
TMOV.CODTMV