Я хочу рассчитать разные столбцы из разных таблиц. я пытаюсь получить требуемый результат из своего кода, но результат дает мне дважды одинаковые строки данных
У меня есть 3 таблицы в моей базе данных оракула rolls_purchase
, rolls_issue
, rolls_consumption
CREATE TABLE ROLLS_purchase(
V_ID INT,
ENT_DATE DATE,
ENT_TIME DATE,
QUALITY VARCHAR2(25),
ROLL_QTY INT,
ROLL_SIZE INT);
CREATE TABLE ROLLS_ISSUE(
V_ID INT,
ISSUE_DATE DATE,
ISSUE_TIME DATE,
QUALITY VARCHAR2(25),
ROLL_SIZE INT,
ROLL_QTY INT,
TO_PO VARCHAR2(100)
);
CREATE TABLE ROLLS_consumption(
V_ID INT,
ISSUE_DATE DATE,
ISSUE_TIME DATE,
QUALITY VARCHAR2(25),
ROLL_SIZE INT,
ROLL_QTY INT,
ROLL_USED INT,
LEFT_ROLL INT
);
когда я покупаю рулоны и помещаю данные в свою таблицу rolls_purchase
, я получаю результат правильно, после этого я использую форму rolls_issue
для проверки выпусков, тогда мое кодирование формы идет хорошо, 3-й шаг - когда пользователь потребляетРолл, если есть какие-то оставленные и возвращенные мне, мне нужно добавить их обратно, когда я использую свой код, тогда результат дает мне в два раза больше строк, как показано ниже.
select x.quality,x.roll_size,sum(x.roll_qty)as
"TOTAL_ROLL",NVL(SUM(I.ROLL_QTY),0)
from rolls x, rolls_issue I
where x.quality is not null
group by x.quality,x.roll_size,I.ROLL_QTY,I.QUALITY;
приведенный выше код результата:
quality size t.roll used
FLOUTING 100 GSM 44 150 40
FLOUTING 100 GSM 44 150 20
FLOUTING 125 GSM 36 50 40
мне нужен этот результат, если выпустить мои броски, то код выше вычисляет мою группу бросков и суммирует их только в одну строку, как показано ниже
quality size t.roll used
FLOUTING 100 GSM 44 150 60
FLOUTING 125 GSM 36 50 40