Pesquisar este blog

Livros Recomendados

quarta-feira, 15 de julho de 2020

URI (BEECROWD) - 3001 - Update sem Where - SQL - PostgreSQL

Outro exercício de SQL que soluciono e posto aqui. Veja a seguir.

Antes de resolver qualquer problema de SQL do URI, recomendamos seguir os seguintes passos:

  1. Ler todo enunciado do problema.
  2. Ler os tópicos do fórum em caso de dúvidas
  3. Preparar o esquema, conforme fornecido no problema. Obs.: muitas vezes o pessoal coloca o código de criação do esquema no fórum, então é só copiar!

Plataforma: URI (BEECROWD)

Problema: 3001

Solução:

Neste exercício era importante conhecer a estrutura CASE. Você já conhece? Minha sugestão é ler sobre ela aqui: https://www.postgresql.org/docs/7.4/functions-conditional.html. Conhecendo a estrutura fica fácil resolver o problema. As demais diretivas são as mesmas de antes, usar SELECT, renomear coluna e ordenar os resultados. Aqui uma diferença de outros exercícios anteriores é que a ordenação é feita com duas colunas, isto é, primeiro usa-se a primeira coluna da cláusula ORDER BY, mas se os valores forem iguais, usa-se a segunda coluna como critério de desempate. Neste caso, primeiro ordena-se pelo tipo (coluna type), em ordem alfabética. Em caso de empate, ordena-se pelo id do produto, de forma descendente (DESC).

Entendeu a nossa solução? Se a sua for diferente, conte-nos através de um comentário!

1
2
3
4
5
6
SELECT name as type,
    CASE when type = 'A' then 20.0
         when type = 'B' then 70.0
         else 530.5
    END as price
FROM products ORDER BY products.type, products.id DESC;

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas