Я пытаюсь получить инструкцию PLSQL для отображения всего списка идентификаторов клиентов и суммы стоимости заказа для каждого клиента. следующий код возвращает мне правильный ответ, но проблема в том, что у меня есть несколько клиентов с одинаковым идентификатором, и мне нужно суммировать все их значения порядка только с одним выводом ID, а не с кодом multiple.my, который получает множительный результат для одного и того же клиента.сумма общих значений PL/Sql
Create table sales (customer_ID number(10), product_ID number(10), quantity number(10));
INSERT INTO sales (customer_ID, product_ID, quantity) Values(3,1,23);
INSERT INTO sales (customer_ID, product_ID, quantity) Values(1,2,34);
INSERT INTO sales (customer_ID, product_ID, quantity) Values(1,3,654);
INSERT INTO sales (customer_ID, product_ID, quantity) Values(3,7,32);
INSERT INTO sales (customer_ID, product_ID, quantity) Values(4,3,23);
INSERT INTO sales (customer_ID, product_ID, quantity) Values(3,3,111);
INSERT INTO sales (customer_ID, product_ID, quantity) Values(5,4,6);
Create table products (product_ID number(10), price number(10));
INSERT INTO products (product_ID, price) Values(1,32);
INSERT INTO products (product_ID, price) Values(2,121);
INSERT INTO products (product_ID, price) Values(3,3000);
INSERT INTO products (product_ID, price) Values(4,621);
INSERT INTO products (product_ID, price) Values(5,363);
INSERT INTO products (product_ID, price) Values(6,32);
INSERT INTO products (product_ID, price) Values(7,3);
INSERT INTO products (product_ID, price) Values(8,432);
INSERT INTO products (product_ID, price) Values(9,11);
INSERT INTO products (product_ID, price) Values(10,73);
declare
cursor cur is select unique sales.quantity,products.price,sales.customer_ID
from sales,products
where sales.product_id=products.product_id
order by customer_ID desc;
prod number;
quan number(10);
pri number(10);
c_id number(10);
begin
open cur;
loop
fetch cur into quan,pri,c_id;
exit when cur%notfound;
prod:=pri*quan;
DBMS_OUTPUT.PUT_LINE('customer_id =' || c_id);
DBMS_OUTPUT.PUT_LINE('quantity value =' || quan);
DBMS_OUTPUT.PUT_LINE('price =' || pri);
DBMS_OUTPUT.PUT_LINE('The total value of customer purchases is = ' || prod);
end loop;
close cur;
END
простите пожалуйста.
Пожалуйста, предоставьте инструкцию create table и убедитесь, что вы добавили INSERT в предложение table_name, которое он вставляет инструкции. И вам действительно нужно использовать 'PL/SQL'?Это можно сделать в простом 'SQL'. PL/SQL 'LOOP',' row-by-row' a.k.a. 'slow-by-slow'. –
изменений сделано и да Мне нужно получить его pl/sql ,, код готов Мне просто нужна сумма одинаковых идентификаторов клиентов по 1 вывод – Shak
Каков результат, который вы ожидаете, и почему у вас есть " сделать это в PL/SQL? Обновите свой вопрос с ожидаемым результатом. – Boneist