Consultas
From Grupo1 Ahand
Revision as of 07:53, 16 December 2006 by Unicamp fabiano (Talk | contribs)
Consultar livro por autor
SELECT liv_titulo, liv_edicao, liv_paginas FROM LIVRO WHERE liv_autor = 'Ivor Horton'
S ⇐ σ (liv_autor = 'Ivor Horton') (LIVRO)
π liv_titulo, liv_edicao, liv_paginas (S)
Consultar livro por tema
Select L.liv_titulo, L.liv_edicao, L.liv_paginas From LIVRO L, TEMA T Where L.tem_id = T.tem_id And T.tem_descricao like '%Java%'
Consultar quantidade de livros pedidos
Select SUM(ipe_quantidade), liv_id From ITEM_PEDIDO Group By liv_id
Consultar livros de seus respectivos fornecedores
Select cad.cad_nome , liv.liv_titulo from CADASTRO cad , LIVRO liv Where cad.cad_id In (Select cadastro_cad_id From LIVRO Where cad.cad_id = cadastro_cad_id)
Livros mais vendidos por período
SELECT b.livro_liv_id, c.liv_titulo, SUM(quantidade) AS quantidade FROM pedido a INNER JOIN item_pedido b ON b.pedido_ped_id = a.ped_id INNER JOIN livro c ON c.liv_id = b.livro_liv_id WHERE a.ped_data BETWEEN :data_inicial AND :data_final GROUP BY b.livro_liv_id, c.liv_titulo ORDER BY SUM(quantidade) DESC
Clientes inativos por mais de 6 meses
SELECT a.cad_nome FROM cadastro a WHERE (a.tipo_cadastro_tca_id = 1) AND NOT EXISTS ( SELECT * FROM pedido w1 WHERE (w1.ped_data > CURRENT_DATE - 180) AND (w1.cadastro_cad_id = a.cad_id) )
Solicitações não atendidas
SELECT a.sol_id, a.sol_numero, a.sol_data, b.iso_quantidade, c.ate_quantidade AS quantidade_pedido FROM solicitacao a INNER JOIN item_solicitacao b ON b.solicitacao_sol_id = a.sol_id LEFT JOIN atende c ON c.item_solicitacao_sol_id = a.sol_id AND c.item_solicitacao_livro_liv_id = b.livro_liv_id WHERE (c.ate_quantidade IS NULL OR c.ate_quantidade < b.iso_quantidade) ORDER BY a.sol_data, a.sol_id
Vendas mensais
SELECT EXTRACT(MONTH FROM a.ped_data) AS mes, SUM(b.ipe_valor_total) total_vendido FROM pedido a INNER JOIN item_pedido b ON b.pedido_ped_id = a.ped_id WHERE a.ped_data BETWEEN :data_inicial AND :data_final GROUP BY EXTRACT(MONTH FROM a.ped_data)