Question: CREATE TABLE customer ( customer_id INTEGER NOT NULL, customer_name VARCHAR (25) NOT NULL, address_line_1 VARCHAR (200), city VARCHAR (100), state_province CHAR (25), postal_code VARCHAR (50),

CREATE TABLE customer ( customer_id INTEGER NOT NULL,

customer_name VARCHAR (25) NOT NULL,

address_line_1 VARCHAR (200),

city VARCHAR (100),

state_province CHAR (25),

postal_code VARCHAR (50),

PRIMARY KEY (customer_id) ) ;

CREATE TABLE order_header ( order_id INTEGER NOT NULL,

order_date DATE,

customer_id INTEGER,

PRIMARY KEY (order_id),

CONSTRAINT order_fkey_customer_id FOREIGN KEY (customer_id) REFERENCES customer (customer_id)) ;

CREATE TABLE product ( product_id INTEGER NOT NULL,

product_name VARCHAR (200),

product_line VARCHAR (200),

product_price DECIMAL(19,2),

PRIMARY KEY (product_id) ) ;

CREATE TABLE order_line ( order_id INTEGER NOT NULL,

product_id INTEGER NOT NULL,

quantity INTEGER,

PRIMARY KEY (order_id,

product_id),

CONSTRAINT order_line_fkey_order_id FOREIGN KEY (order_id) REFERENCES order_header (order_id),

CONSTRAINT order_line_fkey_product_id FOREIGN KEY (product_id) REFERENCES product (product_id)) ;

Create a query that uses a Common Table Expression (CTE) and a Window Function to find the last (most recent) customer in each city to place an order. Your query should return the following columns:

-- last_customer_name (split the name into first and last names, use the last name)

-- city

-- (Hints: Try the RANK function. Make sure to handle customers with 3 names. )

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!