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

Francisco Thiago Almeida jeandeadlucky em yahoo.com.br
Seg Out 18 14:40:56 -03 2004


E ae Fausto! 
 
Kra, estou muito ocupado com algumas conversões aqui por isso não estou tendo o "tempo que eu queria".. mas...
Só uma dica: Lembre sempre que agrupamentos, order by (como fica isso no plural?), entre outras coisas, podem serem feitas no CDS! 
 
Manda o plano da query para o pessoal dar uma olhadinha!
 
[]'s e sucesso
 
Thiago

WoodP <marcilio.soares em brfree.com.br> wrote:
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" 
To: 

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




______________________________________________
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


-----------------------------------------------
Francisco Thiago de Almeida         
MRL Consultoria em Informática    
Divisão Desenvolvimento e Banco de Dados
Franca/SP
__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Mais detalhes sobre a lista de discussão lista