Re: [firebase-br] dúvidas em query

WoodP marcilio.soares em brfree.com.br
Sáb Out 16 23:44:04 -03 2004


Bom... pra mim ta otimo !
Eu so faria o group by pela chave primaria do funcionario e traria o resto 
com a funcao MAX(campo) do SQL pq a cada item no groupy by ele tenta agrupar 
e order tb. Acho eu que isso pode degradar a performace.
Quanto ao uso de SP(StoreProcedure) e sempre uma otima mas se eu fosse usar 
somente faria pra trazer o SUM da tabela financeiro... desde que a tabela 
funanceiro fosse lenta a consulta ou caso ela sofresse incrementos 
constantes ao longo dos anos.

----- Original Message ----- 
From: "Fausto" <fausto.s.a em uol.com.br>
To: <lista em firebase.com.br>
Sent: Saturday, October 16, 2004 2:14 PM
Subject: [firebase-br] dúvidas em query


Bom dia pessoal:
Estou migrando um sistema de Paradox para Firebird, e estou com dúvidas para
montar o seguinte select:
Tenho as tabelas:
(*) = PRIMARY KEY
(**)= FOREIGN KEY
Empresa: (EMPCOD(*),EMPNOM ...)
Funcionarios:(FUNCOD(*),EMPCOD(**),FUNNOM,FUNLIM,FUNSIT)
Financeiro: (NRTIT(*),EMPCOD(**),FUNCOD(**),TITVAL)

Dado uma empresa preciso obter de seus funcionarios os seguintes
campos(CODIGO,NOME,SITUACAO,LIMITE DE CREDITO),também a soma de todos os 
seus
titulos que estao na tabela Fianceiro, no paradox eu tinha uma query assim:

SELECT EMP.EMPCOD, FUNC.FUNCOD, FUNC.FUNNOM, FUNC.CL2SIT, FUNC.FUNLIM,
SUM( FINAN.TITVAL ) AS TOTAL
FROM "EMPRESAS" EMP
INNER JOIN "FUNCIONARIOS" FUNC
ON (EMP.EMPCOD = FUNC.EMPCOD)
INNER JOIN "TITULOS" FINAN
ON (FUNC.EMPCOD = FINAN.EMPCOD)
AND (FUNC.FUNCOD = FINAN.FUNCOD)
WHERE EMP.EMPCOD =:EMPCOD
GROUP BY EMP.EMPCOD, FUNC.FUNCOD, FUNC.FUNNOM, FUNC.FUNSIT, FUNC.FUNLIM

Esta qry foi gerada no Querybuilder, portando não me preocupei com nada 
apenas
fui ligando os campos.
Teria como melhorar a qry acima para o firebird, digamos para ober uma
performance melhor?
E como ficaria esta qry?
Seria melhor escrever uma procedure ?

Se alguém puder me ajudar desde já agradeço
Fausto




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.778 / Virus Database: 525 - Release Date: 15/10/2004
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br







Mais detalhes sobre a lista de discussão lista