У меня есть таблица с именем 2 таблицы
create table ORDERS (
ORDER_NO NUMBER(38,0) not null,
ORDER_DATE DATE not null,
SHIP_DATE DATE null,
SHIPPING_METHOD VARCHAR2(12) null,
TAX_STATUS CHAR(1) null,
SUBTOTAL NUMBER null,
TAX_AMT NUMBER null,
SHIPPING_CHARGE NUMBER null,
TOTAL_AMT NUMBER null,
CUSTOMER_NO NUMBER(38,0) null,
EMPLOYEE_NO NUMBER(38,0) null,
BRANCH_NO NUMBER(38,0) null,
constraint ORDERS_ORDERNO_PK primary key (ORDER_NO) );
и
create table PAYMENTS (
PAYMENT_NO NUMBER(38,0) NOT NULL,
CUSTOMER_NO NUMBER(38,0) null,
ORDER_NO NUMBER(38,0) null,
AMT_PAID NUMBER NULL,
PAY_METHOD VARCHAR(10) NULL,
DATE_PAID DATE NULL,
LATE_DAYS NUMBER NULL,
LATE_FEES NUMBER NULL,
constraint PAYMENTS_PAYMENTNO_PK primary key (PAYMENT_NO) );
Я пытаюсь выяснить, сколько поздних заказов у каждого клиента. В столбце late_days таблицы PAYMENTS указывается, сколько дней клиент опаздывает на оплату любого конкретного заказа.
поэтому я делаю этот запрос
SELECT C.CUSTOMER_NO, C.lname, C.fname, sysdate, COUNT(P.ORDER_NO) as number_LATE_ORDERS
FROM CUSTOMER C, orders o, PAYMENTS P
WHERE C.CUSTOMER_NO = o.CUSTOMER_NO
AND P.order_no = o.order_no
AND P.LATE_DAYS>0
group by C.CUSTOMER_NO, C.lname, C.fname
Это означает, что я считаю заказы с задержкой платежей и поздние дни> 0. Но это дает мне только клиентов, у которых есть заказы с поздними днями> 0, но клиенты, у которых нет задержек, не отображаются. поэтому, если у одного клиента есть 5 заказов с просроченными платежами, то для этого клиента отображается 5, но если у клиента 0 запоздалых заказов, этот клиент не будет выбран в этом запросе.
Есть ли способ выбрать всех клиентов, и если у него есть запоздалые заказы, он покажет номер, а также, если у него нет запоздалых заказов, он покажет 0.