I have been trying to figure out this statement for 3 days now and am no further along than I was Wed!
What I am trying to do is update the value of ActiveStatus in my table Customer based on the value of BillDueDate in my Billing Table. The problem I am having is there is no ForiegnKey to link the two tables together!
here are my tables:
SQL> CREATE TABLE BILLING (
2 BillID NUMBER(5) NOT NULL,
3 CustID NUMBER(5) NOT NULL,
4 BillDate DATE,
5 BillDueDate DATE,
6 BillPaidDate DATE,
7 BillDueAmt NUMBER(5,2),
8 BillPaidAmt NUMBER(5,2),
9 BillStatus VARCHAR2(8),
10 CONSTRAINT BILLING_BILLID_PK PRIMARY KEY (BillID));
SQL> CREATE TABLE CUSTOMER (
2 CustID NUMBER(5) NOT NULL,
3 CustLname VARCHAR2(25),
4 CustFname VARCHAR2(20),
5 CustAddr VARCHAR2(25),
6 CustCity VARCHAR2(25),
7 CustState CHAR(2),
8 CustZip CHAR(5),
9 CustPhone NUMBER(10),
10 CustEmail VARCHAR2(35),
11 CustSDate DATE,
12 CustActiveStatus VARCHAR2(5),
13 EmpID NUMBER(5) NOT NULL,
14 CustInactDate DATE,
15 CustInactReason VARCHAR2(250),
16 CONSTRAINT CUSTOMER_CUSTID_PK PRIMARY KEY (CustID));
I have tried this code, plus numerous variations and I can't seem to get it!
Code:
UPDATE Customer SET CustActiveStatus = 'NO' WHERE BillDueDate IN (Select BillDueDate FROM Billing) WHERE BillDueDate IN ((sysdate-30) > BillDueDate);
I feel like I am almost there, but by George am I not hitting it!