Ir para conteúdo
Fórum CódigoFonte.net
Alvaro - Zeus

Como eu monto um Select desse tipo?

Recommended Posts

Bom dia Pessoal,

Tem um usuário, que necessita de um relátório específico que o programa atual não disponibiliza, porem eu tenho acesso a base de dados que está em InterBase, sei que o temas é SQL Server, mas não encontrei um que fosse geral. Meu problema é o seguinte:

Tenho duas tabelas, uma de Clientes e outra de Notas Fiscais, conforme a estrutura que descrevo parcialmente abaixo:

Clientes

======

CodCli Integer, NomeRazao VarChar, CNPJ VarChar, Empresa Integer

NotasFiscais

=========

CodNtfs Integer, NfDtEmissao TimeStamp, Empresa Integer, Status Char, CodCli Integer, VlBruto Double, VlIRRF Double, VlINSS Double

Dados hipotéticos das tabelas:

Clientes

======

01; Aaaaaa de Aaaaaaa Comércio Ltda.; 001.000.000/0001-01; 01

02; Bbb de Bbbbbbb Ind. e Comércio SA; 012.000.000/0001-12; 02

03; Cccccc Ltda; 034.000.000/0001-34; 01

NotasFiscais

=========

1111; 22/01/2007; 01; ATIVA; 01; 1234,56; 100,21; 52,00

1122; 26/01/2007; 01; ATIVA; 01; 9523,21; 302,11; 92,36

1128; 11/02/2007; 01; CANCELADA; 01; 235,10; 25,11; 20,65

1133; 16/02/2007; 02; ATIVA; 01; 1000,20; 122,11; 82,83

Não sei se vou conseguir explicar só com as palavras, por isso informei os dados acima. Necessito criar um Select, que traga da tabela Clientes, o CNPJ e a Razão Social, e junte com os dados da tabela NotasFiscais. Após isso, é que vem o meu dilema, necessito que as colunas: VlBruto, VlIRRF, VlINSS sejam somadas para um determinado período (ex.: 01/01/2007 até 01/03/2007), necessito que estejam agrupadas pelo CNPJ, excluindo dessa listagem é claro as notas canceladas, e se for possível, já ordená-las por Empresa e depois por CNPJ.

Abaixo mostro um exemplo de como ficaria a visualização das informações após a execução do comando SQL:

CNPJ; Razão Social; Empresa; VlBruto; VlIRRF; VlINSS

001.000.000/0001-01;Aaaaaa de Aaaaaaa Comércio Ltda.;01; 10757,77; 402,32; 144,36

034.000.000/0001-34;Cccccc Ltda; 01; 0,00; 0,00; 0,00

012.000.000/0001-12;Bbb de Bbbbbbb Ind e Comércio SA;02; 1000,20; 122,11; 82,83

Sei que é complicado, pelo menos pra mim que não sou nenhum especialista em SQL. Já perdi um dia inteiro correndo atraz dessa solução e nada, por isso estou pedindo ajuda a quem possa se interesar e/ou tiver conhecimento de como se faz este tipo de pesquisa.

Atenciosamente,

Alvaro J. P. Pereira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...