[firebase-br] having
Anticlei Scheid
cleischeid em yahoo.com.br
Sex Set 30 10:07:09 -03 2005
Funciona de acordo com SQL Ansi-92 pois HAVING em uma cláusula de
instrução SQL padrão, ou seja, não é proprietária do SQL Server e
provavelmente deve funcionar exatamente como no SQL Server.
Por exemplo:
select i.grupo_id, sum(ip.quantidade * ip.valorunitario) as totalvalor
from itenspedido ip
left join itens i on i.item_id = ip.item_id
where i.precovarejo between 50 and 500
group by grupo_id
having sum(ip.quantidade * ip.valorunitario) > 2000
Ou seja, uma lista de valores totais de pedidos sumarizados (agrupados
"group by") por grupos (grupo_id) somente dos itens cujos preços de varejo
(precovarejo) estejam entre 50 e 500 reais, mas somente para os grupos
(depois da sumarização) que tenham total de valor de pedido maior que 2000
reais.
Para sumarizar apenas alguns grupos específicos eu recomendo o uso deste
filtro na cláusula "where", pois a performance será muito maior do que se
filtrá-los na cláusula "having", porque a "where" filtra as linhas ANTES de
sumarizar e na "having" DEPOIS, então você estaria sumarizando dezenas ou
centenas de linhas sem necessidade. Por exemplo:
select i.grupo_id, sum(ip.quantidade * ip.valorunitario) as totalvalor
from itenspedido ip
left join itens i on i.item_id = ip.item_id
where i.precovarejo between 50 and 500 and i.grupo_id in
('ANEIS','GAXETAS','RETENTORES')
group by grupo_id
having sum(ip.quantidade * ip.valorunitario) > 2000
ou seja, neste segundo exemplo somente serão agrupados e listados os
grupos determinados na cláusula where.
Abraço
----- Original Message -----
From: "Gustavo Sequeira" <sequeira2003 em gmail.com>
To: <firebird-br em yahoogrupos.com.br>; "FireBase" <lista em firebase.com.br>
Sent: Friday, September 30, 2005 9:11 AM
Subject: [firebase-br] having
Gostaria de saber que comando(firebird) substituiria a clausula having do
"sql server"...
ps.: A cláusula "HAVING" pode ser utilizada para especificar quais grupos
deverão ser exibidos.
--
Att.
Gustavo Sequeira
Eng. de Softwares - Igreja Assembléia de Deus de Pernambuco
"Respondeu-lhe Jesus: Eu sou o caminho, e a verdade, e a vida; ninguém vem
ao Pai, senão por mim."
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.8/114 - Release Date: 28/9/2005
Mais detalhes sobre a lista de discussão lista