Last active
August 29, 2015 14:10
-
-
Save reinaldorauch/83d5f0bdb34959de91b4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- ----------------------------------------------------------------------------- | |
-- View que retona o id do cliente e a quantidade de solicitações que este | |
-- cliente tem | |
-- ----------------------------------------------------------------------------- | |
CREATE VIEW vw_count_compras_clientes AS | |
SELECT | |
-- id do cliente | |
id_cliente, | |
-- conta a quantidade de solicitações do cliente | |
count(id_solicitacao) as qtd_sol | |
FROM | |
solicitacao | |
WHERE | |
-- Condição para que a solicitação esteja paga | |
status = 'A' | |
GROUP BY id_cliente; | |
-- ----------------------------------------------------------------------------- | |
-- Select que verifica a maior quantidade de solicitações e relaciona com a | |
-- própria view para extrair o id do cliente e assim retornar o cliente | |
-- ----------------------------------------------------------------------------- | |
SELECT | |
-- Todos os campos de cliente | |
c.* | |
FROM | |
(SELECT | |
-- Retorna o maior valor de quantidade de solicitação | |
MAX(qs.qtd_sol) as max_qtd_sol | |
FROM | |
vw_count_compras_clientes qs) ms | |
INNER JOIN | |
-- Junta a a maior quantidade de solicitação com a quantidade de solicitação | |
-- na view | |
vw_count_compras_clientes qs ON ms.max_qtd_sol = qs.qtd_sol | |
INNER JOIN | |
-- Junção do id cliente extraído da view com a tabela de clientes | |
cliente c ON c.id_cliente = qs.id_cliente; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment