Home / Expert Answers / Computer Science / for-each-area-code-with-total-of-customer-balances-below-500-list-customer-counts-and-the-total-of-pa582

(Solved): For each area code with total of customer balances below 500, list customer counts and the total of ...



For each area code with total of customer balances below 500, list customer counts and the total of customer balances. This query will list one row for each area code.

For each product discount offered (P_DISCOUNT), list number of products and average prices (provide suitable headings as aliases) for products whose quantity on hand is greater than 10 units. Your query will display one line for each product discount value.

SQL Script:

/* HomeToolsInc.sql - Script file for MS SQL Server DBMS		*/
/* This script file creates the following tables:		*/
/* REGION, STORE, CATEGORY, VENDOR, PRODUCT, CUSTOMER, CUSTOMER_2, INVOICE, LINE, EMP	*/
/* and loads some data into each table				*/

USE MASTER;

CREATE DATABASE HomeToolsInc; 

GO
USE HomeToolsInc;

DROP TABLE IF EXISTS LINE;
DROP TABLE IF EXISTS INVOICE;
DROP TABLE IF EXISTS CUSTOMER;
DROP TABLE IF EXISTS CUSTOMER_2;
DROP TABLE IF EXISTS EMPLOYEE;
DROP TABLE IF EXISTS PRODUCT;
DROP TABLE IF EXISTS CATEGORY;
DROP TABLE IF EXISTS VENDOR;
DROP TABLE IF EXISTS STORE;
DROP TABLE IF EXISTS REGION;

CREATE TABLE REGION(
REGION_ID INTEGER PRIMARY KEY,
REGION_NAME VARCHAR(15) NOT NULL);

CREATE TABLE STORE(
STORE_ID INTEGER PRIMARY KEY,
STORE_ZIPCODE INTEGER NOT NULL,
REGION_ID INTEGER NOT NULL REFERENCES REGION(REGION_ID));

CREATE TABLE VENDOR ( 
V_CODE 		INTEGER, 
V_NAME 		VARCHAR(35) NOT NULL, 
V_CONTACT 	VARCHAR(15) NOT NULL, 
V_AREACODE 	CHAR(3) NOT NULL, 
V_PHONE 	CHAR(8) NOT NULL, 
V_STATE 	CHAR(2) NOT NULL, 
V_ORDER 	CHAR(1) NOT NULL, 
PRIMARY KEY (V_CODE));

CREATE TABLE CATEGORY (
CAT_ID INTEGER PRIMARY KEY,
CAT_NAME VARCHAR(20) NOT NULL);

CREATE TABLE PRODUCT (
P_CODE 		VARCHAR(10) CONSTRAINT PRODUCT_P_CODE_PK PRIMARY KEY,
P_DESCRIPT 	VARCHAR(35) NOT NULL,
P_INDATE 	DATETIME NOT NULL,
P_QOH   	INTEGER NOT NULL,
P_MIN 		INTEGER NOT NULL,
P_PRICE 	NUMERIC(8,2) NOT NULL,
P_DISCOUNT 	NUMERIC(4,2) NOT NULL,
V_CODE 		INTEGER,
P_MIN_ORDER	INTEGER,
P_REORDER	INTEGER,
CAT_ID INTEGER NOT NULL,
CONSTRAINT PRODUCT_V_CODE_FK
FOREIGN KEY (V_CODE) REFERENCES VENDOR,
CONSTRAINT PRODUCT_CAT_ID_FK FOREIGN KEY (CAT_ID) REFERENCES CATEGORY);

CREATE TABLE CUSTOMER (
CUS_CODE	INTEGER PRIMARY KEY,
CUS_LNAME	VARCHAR(15) NOT NULL,
CUS_FNAME	VARCHAR(15) NOT NULL,
CUS_INITIAL	CHAR(1),
CUS_AREACODE 	CHAR(3) DEFAULT '615' NOT NULL CHECK(CUS_AREACODE IN ('615','713','931')),
CUS_PHONE	CHAR(8) NOT NULL,
CUS_BALANCE	NUMERIC(9,2) DEFAULT 0.00,
CONSTRAINT CUS_NAME_UN UNIQUE(CUS_LNAME,CUS_FNAME));

CREATE TABLE CUSTOMER_2 (
CUS_CODE	INTEGER PRIMARY KEY,
CUS_LNAME	VARCHAR(15) NOT NULL,
CUS_FNAME	VARCHAR(15) NOT NULL,
CUS_INITIAL	CHAR(1),
CUS_AREACODE 	CHAR(3) NOT NULL,
CUS_PHONE	CHAR(8) NOT NULL);

CREATE TABLE EMPLOYEE (
EMP_NUM		INTEGER	PRIMARY KEY,
EMP_TITLE	CHAR(10),	
EMP_LNAME	VARCHAR(15) NOT NULL,
EMP_FNAME	VARCHAR(15) NOT NULL,
EMP_INITIAL	CHAR(1),
EMP_DOB		DATETIME NOT NULL,
EMP_HIRE_DATE	DATETIME DEFAULT GETDATE(),
EMP_AREACODE 	CHAR(3) NOT NULL,
EMP_PHONE	CHAR(8) NOT NULL,
EMP_MGR		INTEGER,
STORE_ID INTEGER FOREIGN KEY REFERENCES STORE(STORE_ID),
FOREIGN KEY (EMP_MGR) REFERENCES EMPLOYEE(EMP_NUM));

CREATE TABLE INVOICE (
INV_NUMBER     	INTEGER PRIMARY KEY,
CUS_CODE	INTEGER NOT NULL REFERENCES CUSTOMER(CUS_CODE),
EMP_NUM INTEGER NOT NULL REFERENCES EMPLOYEE(EMP_NUM),
INV_DATE  	DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
STORE_ID INTEGER NOT NULL REFERENCES STORE(STORE_ID),
CONSTRAINT INV_CK1 CHECK (INV_DATE > '01-JAN-2010'));

CREATE TABLE LINE (
INV_NUMBER 	INTEGER NOT NULL,
LINE_NUMBER	NUMERIC(2,0) NOT NULL,
P_CODE		VARCHAR(10) NOT NULL,
LINE_UNITS	NUMERIC(9,2) DEFAULT 0.00 NOT NULL,
LINE_PRICE	NUMERIC(9,2) DEFAULT 0.00 NOT NULL,
PRIMARY KEY (INV_NUMBER,LINE_NUMBER),
FOREIGN KEY (INV_NUMBER) REFERENCES INVOICE ON DELETE CASCADE,
FOREIGN KEY (P_CODE) REFERENCES PRODUCT(P_CODE),
CONSTRAINT LINE_UI1 UNIQUE(INV_NUMBER, P_CODE));

BEGIN TRANSACTION;

/* REGION rows						*/
INSERT IGNORE INTO REGION VALUES(1, 'East');
INSERT IGNORE INTO REGION VALUES(2, 'West');

/* STORE rows						*/
INSERT IGNORE INTO STORE VALUES(101, 48079, 1);
INSERT IGNORE INTO STORE VALUES(102, 48103, 2);
INSERT IGNORE INTO STORE VALUES(103, 48065, 1);

/* CATEGORY rows						*/
INSERT IGNORE INTO CATEGORY VALUES(1, 'Cutting');
INSERT IGNORE INTO CATEGORY VALUES(2, 'Drilling');
INSERT IGNORE INTO CATEGORY VALUES(3, 'Others');

/* VENDOR rows						*/
INSERT IGNORE INTO VENDOR VALUES(21225,'Bryson, Inc.'    ,'Smithson','615','223-3234','TN','Y');
INSERT IGNORE INTO VENDOR VALUES(21226,'SuperLoo, Inc.'  ,'Flushing','904','215-8995','FL','N');
INSERT IGNORE INTO VENDOR VALUES(21231,'D&E Supply'      ,'Singh'   ,'615','228-3245','TN','Y');
INSERT IGNORE INTO VENDOR VALUES(21344,'Gomez Bros.'     ,'Ortega'  ,'615','889-2546','KY','N');
INSERT IGNORE INTO VENDOR VALUES(22567,'Dome Supply'     ,'Smith'   ,'901','678-1419','GA','N');
INSERT IGNORE INTO VENDOR VALUES(23119,'Randsets Ltd.'   ,'Anderson','901','678-3998','GA','Y');
INSERT IGNORE INTO VENDOR VALUES(24004,'Brackman Bros.'  ,'Browning','615','228-1410','TN','N');
INSERT IGNORE INTO VENDOR VALUES(24288,'ORDVA, Inc.'     ,'Hakford' ,'615','898-1234','TN','Y');
INSERT IGNORE INTO VENDOR VALUES(25443,'B&K, Inc.'       ,'Smith'   ,'904','227-0093','FL','N');
INSERT IGNORE INTO VENDOR VALUES(25501,'Damal Supplies'  ,'Smythe'  ,'615','890-3529','TN','N');
INSERT IGNORE INTO VENDOR VALUES(25595,'Rubicon Systems' ,'Orton'   ,'904','456-0092','FL','Y');

/* PRODUCT rows						*/
INSERT IGNORE INTO PRODUCT VALUES('11QER/31','Power painter, 15 psi., 3-nozzle'     ,'03-NOV-2009',  8,  5,109.99,0.00,25595, 25,0,3);
INSERT IGNORE INTO PRODUCT VALUES('13-Q2/P2','7.25-in. pwr. saw blade'              ,'13-DEC-2009', 32, 15, 14.99,0.05,21344, 50,0,1);
INSERT IGNORE INTO PRODUCT VALUES('14-Q1/L3','9.00-in. pwr. saw blade'              ,'13-NOV-2009', 18, 12, 17.49,0.00,21344, 50,0,1);
INSERT IGNORE INTO PRODUCT VALUES('1546-QQ2','Hrd. cloth, 1/4-in., 2x50'            ,'15-JAN-2010', 15,  8, 39.95,0.00,23119, 35,0,3);
INSERT IGNORE INTO PRODUCT VALUES('1558-QW1','Hrd. cloth, 1/2-in., 3x50'            ,'15-JAN-2010', 23,  5, 43.99,0.00,23119, 25,0,3);
INSERT IGNORE INTO PRODUCT VALUES('2232/QTY','B&D jigsaw, 12-in. blade'             ,'30-DEC-2009',  8,  5,109.92,0.05,24288, 15,0,2);
INSERT IGNORE INTO PRODUCT VALUES('2232/QWE','B&D jigsaw, 8-in. blade'              ,'24-DEC-2009',  6,  5, 99.87,0.05,24288, 15,0,2);
INSERT IGNORE INTO PRODUCT VALUES('2238/QPD','B&D cordless drill, 1/2-in.'          ,'20-JAN-2010', 12,  5, 38.95,0.05,25595, 12,0,2);
INSERT IGNORE INTO PRODUCT VALUES('23109-HB','Claw hammer'                          ,'20-JAN-2010', 23, 10,  9.95,0.10,21225, 25,0,3);
INSERT IGNORE INTO PRODUCT VALUES('23114-AA','Sledge hammer, 12 lb.'                ,'02-JAN-2010',  8,  5, 14.40,0.05,NULL , 12,0,3);
INSERT IGNORE INTO PRODUCT VALUES('54778-2T','Rat-tail file, 1/8-in. fine'          ,'15-DEC-2009', 43, 20,  4.99,0.00,21344, 25,0,3);
INSERT IGNORE INTO PRODUCT VALUES('89-WRE-Q','Hicut chain saw, 16 in.'              ,'07-FEB-2010', 11,  5,256.99,0.05,24288, 10,0,1);
INSERT IGNORE INTO PRODUCT VALUES('PVC23DRT','PVC pipe, 3.5-in., 8-ft'              ,'20-FEB-2010',188, 75,  5.87,0.00,NULL , 50,0,3);
INSERT IGNORE INTO PRODUCT VALUES('SM-18277','1.25-in. metal screw, 25'             ,'01-MAR-2010',172, 75,  6.99,0.00,21225, 50,0,2);
INSERT IGNORE INTO PRODUCT VALUES('SW-23116','2.5-in. wd. screw, 50'                ,'24-FEB-2010',237,100,  8.45,0.00,21231,100,0,2);
INSERT IGNORE INTO PRODUCT VALUES('WR3/TT3' ,'Steel matting, 4''x8''x1/6", .5" mesh','17-JAN-2010', 18,  5,119.95,0.10,25595, 10,0,3);

/* CUSTOMER rows					*/
INSERT IGNORE INTO CUSTOMER VALUES(10010,'Ramas'   ,'Alfred','A' ,'615','844-2573',0);
INSERT IGNORE INTO CUSTOMER VALUES(10011,'Dunne'   ,'Leona' ,'K' ,'713','894-1238',0);
INSERT IGNORE INTO CUSTOMER VALUES(10012,'Smith'   ,'Kathy' ,'W' ,'615','894-2285',345.86);
INSERT IGNORE INTO CUSTOMER VALUES(10013,'Olowski' ,'Paul'  ,'F' ,'615','894-2180',536.75);
INSERT IGNORE INTO CUSTOMER VALUES(10014,'Orlando' ,'Myron' ,NULL,'615','222-1672',0);
INSERT IGNORE INTO CUSTOMER VALUES(10015,'O''Brian','Amy'   ,'B' ,'713','442-3381',0);
INSERT IGNORE INTO CUSTOMER VALUES(10016,'Brown'   ,'James' ,'G' ,'615','297-1228',221.19);
INSERT IGNORE INTO CUSTOMER VALUES(10017,'Williams','George',NULL,'615','290-2556',768.93);
INSERT IGNORE INTO CUSTOMER VALUES(10018,'Farriss' ,'Anne'  ,'G' ,'713','382-7185',216.55);
INSERT IGNORE INTO CUSTOMER VALUES(10019,'Smith'   ,'Olette','K' ,'615','297-3809',0);

/* CUSTOMER_2 rows					*/
INSERT IGNORE INTO CUSTOMER_2 VALUES(345,'Terrell','Justine','H','615','322-9870');
INSERT IGNORE INTO CUSTOMER_2 VALUES(347,'Olowski','Paul','F',615,'894-2180');
INSERT IGNORE INTO CUSTOMER_2 VALUES(351,'Hernandez','Carlos','J','723','123-7654');
INSERT IGNORE INTO CUSTOMER_2 VALUES(352,'McDowell','George',NULL,'723','123-7768');
INSERT IGNORE INTO CUSTOMER_2 VALUES(365,'Tirpin','Khaleed','G','723','123-9876');
INSERT IGNORE INTO CUSTOMER_2 VALUES(368,'Lewis','Marie','J','734','332-1789');
INSERT IGNORE INTO CUSTOMER_2 VALUES(369,'Dunne','Leona','K','713','894-1238');

/* EMPLOYEE rows						*/
INSERT IGNORE INTO EMPLOYEE VALUES(100,'Mr.' ,'Kolmycz'   ,'George' ,'D' ,'15-JUN-1942','15-MAR-1985','615','324-5456',NULL,101);
INSERT IGNORE INTO EMPLOYEE VALUES(101,'Ms.' ,'Lewis'     ,'Rhonda' ,'G' ,'19-MAR-1965','25-APR-1986','615','324-4472',100,101);
INSERT IGNORE INTO EMPLOYEE VALUES(102,'Mr.' ,'Vandam'    ,'Rhett'  ,NULL,'14-NOV-1958','20-DEC-1990','901','675-8993',100,101);
INSERT IGNORE INTO EMPLOYEE VALUES(103,'Ms.' ,'Jones'     ,'Anne'   ,'M' ,'16-OCT-1974','28-AUG-1994','615','898-3456',100,101);
INSERT IGNORE INTO EMPLOYEE VALUES(104,'Mr.' ,'Williams'  ,'Robert' ,'D' ,'14-MAR-1975','08-NOV-1998','615','890-3220',NULL,102);
INSERT IGNORE INTO EMPLOYEE VALUES(105,'Mr.' ,'Lange'     ,'John'   ,'P' ,'08-NOV-1971','20-OCT-1994','901','504-4430',104,102);
INSERT IGNORE INTO EMPLOYEE VALUES(106,'Mrs.','Smith'     ,'Jeanine','K' ,'12-FEB-1968','05-JAN-1989','615','324-7883',104,102);
INSERT IGNORE INTO EMPLOYEE VALUES(107,'Mr.' ,'Diante'    ,'Jorge'  ,'D' ,'21-AUG-1974','02-JUL-1994','615','890-4567',104,102);
INSERT IGNORE INTO EMPLOYEE VALUES(108,'Mr.' ,'Wiesenbach','Paul'   ,'R' ,'14-FEB-1966','18-NOV-1992','615','897-4358',NULL,103);
INSERT IGNORE INTO EMPLOYEE VALUES(109,'Mr.' ,'Smith'     ,'George' ,'K' ,'18-JUN-1961','14-APR-1989','901','504-3339',108,103);
INSERT IGNORE INTO EMPLOYEE VALUES(110,'Mrs.','Genkazi'   ,'Leighla','W' ,'19-MAY-1970','01-DEC-1990','901','569-0093',108,103);
INSERT IGNORE INTO EMPLOYEE VALUES(111,'Mr.' ,'Washington','Rupert' ,'E' ,'03-JAN-1966','21-JUN-1993','615','890-4925',104,102);
INSERT IGNORE INTO EMPLOYEE VALUES(112,'Mr.' ,'Johnson'   ,'Edward' ,'E' ,'14-MAY-1961','01-DEC-1983','615','898-4387',100,101);
INSERT IGNORE INTO EMPLOYEE VALUES(113,'Ms.' ,'Smythe'    ,'Melanie','P' ,'15-SEP-1970','11-MAY-1999','615','324-9006',104,102);
INSERT IGNORE INTO EMPLOYEE VALUES(114,'Ms.' ,'Brandon'   ,'Marie'  ,'G' ,'02-NOV-1956','15-NOV-1979','901','882-0845',108,103);
INSERT IGNORE INTO EMPLOYEE VALUES(115,'Mrs.','Saranda'   ,'Hermine','R' ,'25-JUL-1972','23-APR-1993','615','324-5505',104,102);
INSERT IGNORE INTO EMPLOYEE VALUES(116,'Mr.' ,'Smith'     ,'George' ,'A' ,'08-NOV-1965','10-DEC-1988','615','890-2984',108,103);

/* INVOICE rows						*/
INSERT IGNORE INTO INVOICE VALUES(1001,10014,101,'16-JAN-2010',101);
INSERT IGNORE INTO INVOICE VALUES(1002,10011,101,'16-JAN-2010',101);
INSERT IGNORE INTO INVOICE VALUES(1003,10012,112,'16-JAN-2010',101);
INSERT IGNORE INTO INVOICE VALUES(1004,10011,111,'17-JAN-2010',102);
INSERT IGNORE INTO INVOICE VALUES(1005,10018,111,'17-JAN-2010',102);
INSERT IGNORE INTO INVOICE VALUES(1006,10014,109,'17-JAN-2010',103);
INSERT IGNORE INTO INVOICE VALUES(1007,10015,104,'17-JAN-2010',102);
INSERT IGNORE INTO INVOICE VALUES(1008,10011,114,'17-JAN-2010',103);

/* LINE rows						*/
INSERT IGNORE INTO LINE VALUES(1001,1,'13-Q2/P2',1,14.99);
INSERT IGNORE INTO LINE VALUES(1001,2,'23109-HB',1,9.95);
INSERT IGNORE INTO LINE VALUES(1002,1,'54778-2T',2,4.99);
INSERT IGNORE INTO LINE VALUES(1003,1,'2238/QPD',1,38.95);
INSERT IGNORE INTO LINE VALUES(1003,2,'1546-QQ2',1,39.95);
INSERT IGNORE INTO LINE VALUES(1003,3,'13-Q2/P2',5,14.99);
INSERT IGNORE INTO LINE VALUES(1004,1,'54778-2T',3,4.99);
INSERT IGNORE INTO LINE VALUES(1004,2,'23109-HB',2,9.95);
INSERT IGNORE INTO LINE VALUES(1005,1,'PVC23DRT',12,5.87);
INSERT IGNORE INTO LINE VALUES(1006,1,'SM-18277',3,6.99);
INSERT IGNORE INTO LINE VALUES(1006,2,'2232/QTY',1,109.92);
INSERT IGNORE INTO LINE VALUES(1006,3,'23109-HB',1,9.95);
INSERT IGNORE INTO LINE VALUES(1006,4,'89-WRE-Q',1,256.99);
INSERT IGNORE INTO LINE VALUES(1007,1,'13-Q2/P2',2,14.99);
INSERT IGNORE INTO LINE VALUES(1007,2,'54778-2T',1,4.99);
INSERT IGNORE INTO LINE VALUES(1008,1,'PVC23DRT',5,5.87);
INSERT IGNORE INTO LINE VALUES(1008,2,'WR3/TT3',3,119.95);
INSERT IGNORE INTO LINE VALUES(1008,3,'23109-HB',1,9.95);

COMMIT;

GRANT SELECT ON VENDOR TO PUBLIC;	
GRANT SELECT ON PRODUCT TO PUBLIC;	


We have an Answer from Expert

View Expert Answer

Expert Answer


To list the number of customers and total customer balances for each area code with a total customer balance below 5
We have an Answer from Expert

Buy This Answer $5

Place Order

We Provide Services Across The Globe