Bom dia, gostaria de pedir a ajuda de aguem
Seu amigo Zé Maria está em uma emboscada porque ele fez uma atualização sem um onde e acaba zerando todos os valores da coluna de preços. Para sua sorte, o preço pode ser recalculado sabendo o tipo de produto.
- Se o tipo de produto for igual a A, o preço será 20,0
- Se o tipo de produto for igual a B, o preço será 70,0
- Se o tipo de produto for igual a C, o preço será 530,5
Seu trabalho é mostrar o nome e o preço de todos os produtos. Você deve mostrar os produtos em grupos pela seguinte ordem: primeiro, todos os produtos do tipo A, segundo tipo B e, finalmente, tipo C. Além disso, os produtos de cada grupo (A, B, C) devem ser impressos em ordem decrescente por ID.
Esquema
Faltou o “Esquema” , a pergunta e o código provando que tentou fazer.
CREATE TABLE IF NOT EXISTS BDGUI
.products
(
id
DECIMAL(10,0) NOT NULL,
name
VARCHAR(50) NOT NULL,
type
CHAR NOT NULL,
price
DECIMAL(10,0) NOT NULL,
PRIMARY KEY (id
))
ENGINE = InnoDB;
select products.name, products.price from products ORDER BY products.type ASC, products.id DESC;
Não sei se entendi bem…
1 - Tabela (da forma como eu a codifico)
CREATE TABLE IF NOT EXISTS BDGUI.products(
product_code INT NOT NULL AUTO_INCREMENT,
product_name VARCHAR(50) NOT NULL,
product_type CHAR NOT NULL,
price DECIMAL(10, 2) NOT NULL,
CONSTRAINT pk_product PRIMARY KEY(product_code)
);
2 - A inserção
INSERT INTO BDGUI.products(product_name, product_type, price) VALUES("Mouse", 'A', 20.00),
("Fone de Ouvido", 'A', 20.00), ("Monitor", 'B', 530.50), ("Cadeira de Jogos", 'C', 530.50),
("PC Case", 'A', 20.00), ("Mesa de Computador", 'C', 530.50);
3 - As consultas
SELECT products.product_name, products.price FROM products
WHERE products.product_type = 'A' ORDER BY products.product_code DESC;
SELECT products.product_name, products.price FROM products
WHERE products.product_type = 'B' ORDER BY products.product_code DESC;
SELECT products.product_name, products.price FROM products
WHERE products.product_type = 'C' ORDER BY products.product_code DESC;
Se for para colocar esses ‘grupos’ em uma única consulta, daí a coisa é mais complicada.
Rodando (exemplo)…