-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathviews.sql
More file actions
64 lines (60 loc) · 1.76 KB
/
views.sql
File metadata and controls
64 lines (60 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
CREATE OR REPLACE VIEW Cotacao_Produtos AS
SELECT
cat."nome" AS categoria_nome,
p."nome" AS produto_nome,
p."descricao",
p."quantidade",
p."unidade",
ROUND(AVG(c.valor::numeric), 2) AS preco_medio,
ROUND(MIN(c.valor::numeric), 2) AS menor_preco,
ROUND(MAX(c.valor::numeric), 2) AS maior_preco
FROM
"Produto" p
LEFT JOIN "Cotacao" c ON p."codProduto" = c."codProduto"
INNER JOIN "Categoria" cat ON p."codCategoria" = cat."codCategoria"
GROUP BY
p."codProduto", p."nome", p."descricao", p."quantidade", p."unidade", cat."nome"
ORDER BY
cat."nome",p."nome" ASC;
CREATE VIEW View_Produtos_Fornecedores AS
SELECT
p."nome" AS produto,
f."nome" AS fornecedor,
c."valor" AS valorCotacao
FROM
"Cotacao" c
JOIN
"Fornecedor" f ON c."cnpjFornecedor" = f."cnpjFornecedor"
JOIN
"Produto" p ON c."codProduto" = p."codProduto";
-- transformar em procedure que retornar as operações para o estoque escolhido
CREATE VIEW Operacoes_Estoque AS
SELECT
'Entrada' AS "tipo_operacao",
"codOperacao",
"descricao",
"dataLancamento",
"status",
"dataConfirmacao"
-- "pendente",
-- "aprovado",
-- "numLote",
-- "cpfEstoquista",
-- "cpfOperador"
FROM "Entrada"
UNION ALL
SELECT
'Saida' AS "tipo_operacao",
"codOperacao",
"descricao",
"dataLancamento",
"status",
"dataConfirmacao"
-- "pendente",
-- "aprovado",
-- "numLote",
-- "cpfEstoquista",
-- "cpfOperador"
FROM "Saida"
WHERE "codEstoque" = 1
ORDER BY "status" DESC, "dataLancamento" ASC;