Skip to content

Consultas com álgebra relacional #8

@marqueswill

Description

@marqueswill

Fazer CINCO consultas em Álgebra relacional, onde cada consulta envolva pelo menos 3
tabelas. Escolher as mais fáceis:

  • Histórico de Entradas e Saídas de um estoque (estoque, entrada, saída, estoque, restaurante)
SELECT r."nome", e."nome","dataLancamento","descricao","status","dataConfirmacao"
FROM (SELECT * FROM "Saida" s UNION SELECT * FROM "Entrada" e) ops
LEFT JOIN "Estoque" e ON ops."codEstoque" = e."codEstoque"
LEFT JOIN "Restaurante" r ON e."cnpjRestaurante" = r."cnpjRestaurante"
WHERE ops."codEstoque" = 1
ORDER BY ops."dataLancamento" ASC;
  • Histórico de Entradas e Saídas de um produto do estoque (entrada, saída, lote, produtolote, produtoestoque, produto)
SELECT p."nome", ops."descricao", ops."status", ops."dataLancamento"
FROM (SELECT * FROM "Saida" s UNION SELECT * FROM "Entrada" e) ops
LEFT JOIN "Lote" l ON ops."numLote" = l."numLote"
LEFT JOIN "ProdutoLote" pl ON l."numLote" = pl."numLote"
LEFT JOIN "Produto" p ON p."codProduto" = pl."codProduto"
ORDER BY ops."dataLancamento";
  • Detalhar os produtos de um lote (produto, categoria, lote, produtolote)
SELECT l."numLote", l."tipo", p."nome"
FROM "Lote" l
LEFT JOIN "ProdutoLote" pl ON l."numLote" = pl."numLote"
LEFT JOIN "ProdutoEstoque" pe ON  pe."codProduto" = pl."codProduto" AND pe."codEstoque" = pl."codEstoque"
LEFT JOIN "Produto" p ON p."codProduto" = pe."codProduto"
  • Listar compras realizadas por um restaurante (compra, fornecedor, restaurante )
SELECT c."data", r."nome", f."nome"
FROM "Compra" c
LEFT JOIN "Fornecedor" f ON c."cnpjFornecedor" = f."cnpjFornecedor"
LEFT JOIN "Restaurante" r ON c."cnpjRestaurante" = r."cnpjRestaurante";
  • Fornecedores e o preço de cada um para um produto (fornecedor, produto, cotacao)
SELECT p."nome", c."valor", f."nome"
FROM "Cotacao" c
INNER JOIN "Fornecedor" f ON c."cnpjFornecedor" = f."cnpjFornecedor"
INNER JOIN "Produto" p ON c."codProduto" = p."codProduto";
  • Listar os produtos de um estoque (produto, estoque, produtoestoque)
SELECT c."nome" as "categoria", p."nome", pe."estoqueAtual"
FROM "ProdutoEstoque" pe
LEFT JOIN "Produto" p ON p."codProduto" = pe."codProduto"
LEFT JOIN "Categoria" c ON p."codCategoria" = c."codCategoria"
WHERE pe."codEstoque" = 1
ORDER BY c."nome" ASC, pe."estoqueAtual";

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions