PRODUTOS com a maior quantidade de PEDIDOS
CREATE TABLE CLIENTE(
Idcliente int,
nome varchar(60),
dtnascimento date,
cpf varchar(11),
CONSTRAINT pk_cliente PRIMARY KEY (Idcliente)
);
CREATE TABLE PEDIDO(
Idpedido int,
Idcliente int,
datapedido date,
vltotal decimal(10,2),
CONSTRAINT pk_pedido PRIMARY KEY (Idpedido),
CONSTRAINT fk_pedido_cliente FOREIGN KEY (Idcliente) REFERENCES CLIENTE(Idcliente)
);
CREATE TABLE PRODUTO(
Idproduto int,
descricao varchar(100),
quantidade int,
CONSTRAINT pk_produto PRIMARY KEY (Idproduto)
);
CREATE TABLE ITEMPEDIDO(
Idpedido int,
Nritem int,
valor decimal(10,2),
quantidade int,
Idproduto int,
CONSTRAINT pk_itempedido PRIMARY KEY (Idpedido, Nritem),
CONSTRAINT fk_Idpedido FOREIGN KEY (Idpedido) REFERENCES PEDIDO (Idpedido),
CONSTRAINT fk_itempedido_produto FOREIGN KEY (Idproduto) REFERENCES PRODUTO (Idproduto)
);
CREATE TABLE LOG(
Idlog int,
data date,
descricao varchar(255),
CONSTRAINT pk_log PRIMARY KEY (Idlog)
);
INSERT INTO CLIENTE VALUES (1, 'Hugo Batista', TO_DATE('05/02/1990', 'DD/MM/YYYY'),
'51898608253');
INSERT INTO CLIENTE VALUES (2, 'José Antonio', TO_DATE('02/05/1985', 'DD/MM/YYYY'),
'51144722241');
INSERT INTO CLIENTE VALUES (3, 'João Carlos', TO_DATE('03/05/1993', 'DD/MM/YYYY'),
'84882273292');
INSERT INTO CLIENTE VALUES (4, 'Edivaldo Santana', TO_DATE('01/06/2000', 'DD/MM/YYYY'),
'30609426176');
INSERT INTO CLIENTE VALUES (5, 'Cristina Oliveira', TO_DATE('16/08/1999', 'DD/MM/YYYY'),
'56313586700');
INSERT INTO CLIENTE VALUES (6, 'Artur da Silva', TO_DATE('06/05/2001', 'DD/MM/YYYY'),
'67491246583');
INSERT INTO CLIENTE VALUES (7, 'Adrina Domingues', TO_DATE('01/02/1972', 'DD/MM/YYYY'),
'22044617250');
INSERT INTO PRODUTO VALUES (1, 'SAMSUNG J7 - PRIME', 10);
INSERT INTO PRODUTO VALUES (2, 'SAMSUNG J5 - PRIME', 10);
INSERT INTO PRODUTO VALUES (3, 'IPHONE X', 10);
INSERT INTO PRODUTO VALUES (4, 'MOTO G 5S', 10);
INSERT INTO PRODUTO VALUES (5, 'IPHONE 6S', 10);
INSERT INTO PEDIDO VALUES (1, 4, TO_DATE('10/03/2018', 'DD/MM/YYYY'), 1400.99);
INSERT INTO ITEMPEDIDO VALUES (1, 1, 800.99, 1, 1);
INSERT INTO ITEMPEDIDO VALUES (1, 2, 600.00, 1, 2);
INSERT INTO PEDIDO VALUES (2, 2, TO_DATE('17/03/2018', 'DD/MM/YYYY'), 1349.50);
INSERT INTO ITEMPEDIDO VALUES (2, 1, 749.50, 1, 4);
INSERT INTO ITEMPEDIDO VALUES (2, 2, 600.00, 1, 2);
INSERT INTO PEDIDO VALUES (3, 1, TO_DATE('20/03/2018', 'DD/MM/YYYY'), 2590.10);
INSERT INTO ITEMPEDIDO VALUES (3, 1, 1800.71, 1, 5);
INSERT INTO ITEMPEDIDO VALUES (3, 2, 789.39, 1, 4);
INSERT INTO PEDIDO VALUES (4, 5, TO_DATE('21/03/2018', 'DD/MM/YYYY'), 2590.10);
INSERT INTO ITEMPEDIDO VALUES (4, 1, 5099.00, 1, 3);
INSERT INTO PEDIDO VALUES (5, 7, TO_DATE('10/03/2018', 'DD/MM/YYYY'), 1800.00);
INSERT INTO ITEMPEDIDO VALUES (5, 1, 600.00, 3, 2);
"Crie um select que exibe quais são os três PRODUTOS com a maior quantidade de PEDIDOS. Exiba o nome e o código do produto"
Oi pessoal. por favor preciso da ajuda de vocês .
Eu queria criar um SELECT que exiba os três PRODUTOS com a maior quantidade de PEDIDOS.
Retornando nome do produto ( PRODUTO.DESCRICAO ) e o código dele ( PRODUTO.IDPRODUTO )
Eu tentei das seguintes formas mas não consegui . estou novinha ainda em oracle
SELECT PRODUTO.DESCRICAO, PRODUTO.IDPRODUTO, ITEMPEDIDO.QUANTIDADE
FROM ITEMPEDIDO, PEDIDO, PRODUTO
WHERE ITEMPEDIDO.IDPEDIDO = PEDIDO.IDPEDIDO
AND PRODUTO.IDPRODUTO = ITEMPEDIDO.IDPRODUTO
GROUP BY IDPRODUTO
neste código só roda sem erro se eu tirar o GROUP BY IDPRODUTO. Mas não gera o resultado esperado *
/monthly_2021_08/853287518_411Aug_3117_16.png.e83d1688dd4b00720c13b2811fb28bb9.png" />
SELECT ITEMPEDIDO.IDPRODUTO, COUNT(*) AS VENDIDO
FROM ITEMPEDIDO
GROUP BY IDPRODUTO
ORDER BY VENDIDO DESC
Aqui eu até consegui chegar perto mas não consegui acrescentar o nome do produto ( que é PRODUTO.DESCRICAO) e o produto com idproduto 2 ( que é o J5 ) não são só 3 vendidos. SÃO 5 !!! ai ai ai ai
....e apos muita batalha eu consegui fazer isso ... que tbm ainda não é o ideal
SELECT FROM (SELECT ITEMPEDIDO.IDPRODUTO, COUNT() AS VENDIDO
FROM ITEMPEDIDO
GROUP BY IDPRODUTO
ORDER BY VENDIDO DESC)
WHERE ROWNUM <4
/monthly_2021_08/1077575288_412Aug_3117_18.png.6543c8ff67f6f82a491781355db5f978.png" />
... demorei horrores pra fazer esse WHERE ROWNUM <4 *rodar sem erro... pois é pessoal. só historia triste ! kkkkk
Agora estou tentando esse aqui mas não terminei
SELECT PRODUTO.DESCRICAO AS NOME, ITEMPEDIDO.IDPRODUTOFROM PRODUTO, ITEMPEDIDO
WHERE PRODUTO.IDPRODUTO = ITEMPEDIDO.IDPRODUTO
/monthly_2021_08/742200536_413Aug_3117_19.png.49ca02da59c0b892fa13205948b8e9e1.png" />
acabei parando no meio do caminho e decidi recorrer ao imasters !
vou continuar tentando ... sera que consigo antes de alguem aparecer aqui ? rsrsrs
obrigada ! boa sorte pessoal.
ah ! já ia esquecendo estou usando o livesql.oracle.com
e vou deixar aqui tbm a consulta das tabelas
/monthly_2021_08/448911346_410Aug_3102_23.png.4f936e75f7309694cfa33dcd924b2f6c.png" />/monthly_2021_08/1581180063_409Aug_3102_23.png.3216b4a2d70f5180d2812bfb3c46502f.png" />/monthly_2021_08/2043533730_408Aug_3102_22.png.58bec7d9cc955741a2a26639289ef9b1.png" />/monthly_2021_08/972256885_403Aug_3102_20.png.22dccf82c03a9bac2ccc0fc81c1cdb79.png" />Discussão (6)
Carregando comentários...