Using the data below write SQL statements that will accurate

Using the data below, write SQL statements that will accurately return data for the following:

List all product sales for which the units sold is greater than the average units sold -- for that product.

To the previous query, add a correlated in-line sub-query to list the average units sold per product.

List all customers who purchased products 13-Q2/P2 and 23109-HB.

List all products what a product cost greater than all individual product costs of products provided by vendors in Florida. Create this query as a Stored Procedure.

List the difference between each product’s price and the average product price.

List all vendors to contact for products with a quantity on hand <= double P_MIN. Create this query as a Stored Procedure.

CREATE TABLE CUSTOMER (
CUS_CODE int,
CUS_LNAME varchar(15),
CUS_FNAME varchar(15),
CUS_INITIAL varchar(1),
CUS_AREACODE varchar(3),
CUS_PHONE varchar(8),
CUS_BALANCE float(8)
);
ALTER TABLE customer
CHANGE COLUMN CUS_CODE CUS_CODE INT(11) NOT NULL,
ADD PRIMARY KEY (CUS_CODE);
INSERT INTO CUSTOMER VALUES(\'10010\',\'Ramas\',\'Alfred\',\'A\',\'615\',\'844-2573\',\'0\');
INSERT INTO CUSTOMER VALUES(\'10011\',\'Dunne\',\'Leona\',\'K\',\'713\',\'894-1238\',\'0\');
INSERT INTO CUSTOMER VALUES(\'10012\',\'Smith\',\'Kathy\',\'W\',\'615\',\'894-2285\',\'345.86\');
INSERT INTO CUSTOMER VALUES(\'10013\',\'Olowski\',\'Paul\',\'F\',\'615\',\'894-2180\',\'536.75\');
INSERT INTO CUSTOMER VALUES(\'10014\',\'Orlando\',\'Myron\',\'\',\'615\',\'222-1672\',\'0\');
INSERT INTO CUSTOMER VALUES(\'10015\',\'O\'\'Brian\',\'Amy\',\'B\',\'713\',\'442-3381\',\'0\');
INSERT INTO CUSTOMER VALUES(\'10016\',\'Brown\',\'James\',\'G\',\'615\',\'297-1228\',\'221.19\');
INSERT INTO CUSTOMER VALUES(\'10017\',\'Williams\',\'George\',\'\',\'615\',\'290-2556\',\'768.93\');
INSERT INTO CUSTOMER VALUES(\'10018\',\'Farriss\',\'Anne\',\'G\',\'713\',\'382-7185\',\'216.55\');
INSERT INTO CUSTOMER VALUES(\'10019\',\'Smith\',\'Olette\',\'K\',\'615\',\'297-3809\',\'0\');

/* -- */


CREATE TABLE VENDOR (
V_CODE int,
V_NAME varchar(15),
V_CONTACT varchar(50),
V_AREACODE varchar(3),
V_PHONE varchar(8),
V_STATE varchar(2),
V_ORDER varchar(1)
);
ALTER TABLE vendor
CHANGE COLUMN V_CODE V_CODE INT(11) NOT NULL,
ADD PRIMARY KEY (V_CODE);
INSERT INTO VENDOR VALUES(\'21225\',\'Bryson, Inc.\',\'Smithson\',\'615\',\'223-3234\',\'TN\',\'Y\');
INSERT INTO VENDOR VALUES(\'21226\',\'SuperLoo, Inc.\',\'Flushing\',\'904\',\'215-8995\',\'FL\',\'N\');
INSERT INTO VENDOR VALUES(\'21231\',\'D&E Supply\',\'Singh\',\'615\',\'228-3245\',\'TN\',\'Y\');
INSERT INTO VENDOR VALUES(\'21344\',\'Gomez Bros.\',\'Ortega\',\'615\',\'889-2546\',\'KY\',\'N\');
INSERT INTO VENDOR VALUES(\'22567\',\'Dome Supply\',\'Smith\',\'901\',\'678-1419\',\'GA\',\'N\');
INSERT INTO VENDOR VALUES(\'23119\',\'Randsets Ltd.\',\'Anderson\',\'901\',\'678-3998\',\'GA\',\'Y\');
INSERT INTO VENDOR VALUES(\'24004\',\'Brackman Bros.\',\'Browning\',\'615\',\'228-1410\',\'TN\',\'N\');
INSERT INTO VENDOR VALUES(\'24288\',\'ORDVA, Inc.\',\'Hakford\',\'615\',\'898-1234\',\'TN\',\'Y\');
INSERT INTO VENDOR VALUES(\'25443\',\'B&K, Inc.\',\'Smith\',\'904\',\'227-0093\',\'FL\',\'N\');
INSERT INTO VENDOR VALUES(\'25501\',\'Damal Supplies\',\'Smythe\',\'615\',\'890-3529\',\'TN\',\'N\');
INSERT INTO VENDOR VALUES(\'25595\',\'Rubicon Systems\',\'Orton\',\'904\',\'456-0092\',\'FL\',\'Y\');

/* -- */

CREATE TABLE PRODUCT (
P_CODE varchar(10),
P_DESCRIPT varchar(35),
P_INDATE date,
P_QOH int,
P_MIN int,
P_PRICE float(8),
P_DISCOUNT float(8),
V_CODE int
);
ALTER TABLE product
CHANGE COLUMN P_CODE P_CODE VARCHAR(10) NOT NULL,
ADD PRIMARY KEY (P_CODE),
ADD INDEX V_CODE_idx (V_CODE ASC);
ALTER TABLE product
ADD CONSTRAINT V_CODE
FOREIGN KEY (V_CODE)
REFERENCES vendor (V_CODE)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
INSERT INTO PRODUCT VALUES(\'11QER/31\',\'Power painter, 15 psi., 3-nozzle\',\'2015-11-03\',\'8\',\'5\',\'109.99\',\'0\',\'25595\');
INSERT INTO PRODUCT VALUES(\'13-Q2/P2\',\'7.25-in. pwr. saw blade\',\'2015-12-13\',\'32\',\'15\',\'14.99\',\'0.05\',\'21344\');
INSERT INTO PRODUCT VALUES(\'14-Q1/L3\',\'9.00-in. pwr. saw blade\',\'2015-11-13\',\'18\',\'12\',\'17.49\',\'0\',\'21344\');
INSERT INTO PRODUCT VALUES(\'1546-QQ2\',\'Hrd. cloth, 1/4-in., 2x50\',\'2016-01-15\',\'15\',\'8\',\'39.95\',\'0\',\'23119\');
INSERT INTO PRODUCT VALUES(\'1558-QW1\',\'Hrd. cloth, 1/2-in., 3x50\',\'2016-01-15\',\'23\',\'5\',\'43.99\',\'0\',\'23119\');
INSERT INTO PRODUCT VALUES(\'2232/QTY\',\'B&D jigsaw, 12-in. blade\',\'2015-12-30\',\'8\',\'5\',\'109.92\',\'0.05\',\'24288\');
INSERT INTO PRODUCT VALUES(\'2232/QWE\',\'B&D jigsaw, 8-in. blade\',\'2015-12-24\',\'6\',\'5\',\'99.87\',\'0.05\',\'24288\');
INSERT INTO PRODUCT VALUES(\'2238/QPD\',\'B&D cordless drill, 1/2-in.\',\'2016-01-20\',\'12\',\'5\',\'38.95\',\'0.05\',\'25595\');
INSERT INTO PRODUCT VALUES(\'23109-HB\',\'Claw hammer\',\'2016-01-12\',\'23\',\'10\',\'9.95\',\'0.1\',\'21225\');
INSERT INTO PRODUCT VALUES(\'23114-AA\',\'Sledge hammer 12 lb.\',\'2016-01-2\',\'8\',\'5\',\'14.40\',\'0.05\',\'24004\');
INSERT INTO PRODUCT VALUES(\'54778-2T\',\'Rat-tail file, 1/8-in. fine\',\'2015-12-15\',\'43\',\'20\',\'4.99\',\'0\',\'21344\');
INSERT INTO PRODUCT VALUES(\'89-WRE-Q\',\'Hicut chain saw, 16 in.\',\'2016-02-17\',\'11\',\'5\',\'256.99\',\'0.05\',\'24288\');
INSERT INTO PRODUCT VALUES(\'PVC23DRT\',\'PVC pipe, 3.5-in., 8-ft\',\'2016-02-27\',\'188\',\'75\',\'5.87\',\'0\',\'24004\');
INSERT INTO PRODUCT VALUES(\'SM-18277\',\'1.25-in. metal screw, 25\',\'2016-03-01\',\'172\',\'75\',\'6.99\',\'0\',\'21225\');
INSERT INTO PRODUCT VALUES(\'SW-23116\',\'2.5-in. wd. screw, 50\',\'2016-02-14\',\'237\',\'100\',\'8.45\',\'0\',\'21231\');
INSERT INTO PRODUCT VALUES(\'WR3/TT3\',\'Steel matting, 4\'\'x8\'\'x1/6\", .5\" mesh\',\'2016-01-27\',\'18\',\'5\',\'119.95\',\'0.1\',\'25595\');

/* -- */

CREATE TABLE INVOICE (
INV_NUMBER int,
CUS_CODE int,
INV_DATE date,
INV_SUBTOTAL float(8),
INV_TAX float(8),
INV_TOTAL float(8)
);
ALTER TABLE invoice
CHANGE COLUMN INV_NUMBER INV_NUMBER INT(11) NOT NULL,
ADD PRIMARY KEY (INV_NUMBER), ADD INDEX CUS_CODE_idx (CUS_CODE ASC);
ALTER TABLE invoice
ADD CONSTRAINT CUS_CODE
FOREIGN KEY (CUS_CODE)
REFERENCES customer (CUS_CODE)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
INSERT INTO INVOICE VALUES(\'1001\',\'10014\',\'2016-01-16\',\'24.90\',\'1.99\',\'26.89\');
INSERT INTO INVOICE VALUES(\'1002\',\'10011\',\'2016-01-16\',\'9.98\',\'0.80\',\'10.78\');
INSERT INTO INVOICE VALUES(\'1003\',\'10012\',\'2016-01-16\',\'153.85\',\'12.31\',\'166.16\');
INSERT INTO INVOICE VALUES(\'1004\',\'10011\',\'2016-01-17\',\'34.97\',\'2.80\',\'37.77\');
INSERT INTO INVOICE VALUES(\'1005\',\'10018\',\'2016-01-17\',\'70.44\',\'5.64\',\'76.08\');
INSERT INTO INVOICE VALUES(\'1006\',\'10014\',\'2016-01-17\',\'397.83\',\'31.83\',\'429.66\');
INSERT INTO INVOICE VALUES(\'1007\',\'10015\',\'2016-01-17\',\'34.97\',\'2.80\',\'37.77\');
INSERT INTO INVOICE VALUES(\'1008\',\'10011\',\'2016-01-17\',\'399.15\',\'31.93\',\'431.08\');

/* -- */

CREATE TABLE LINE (
INV_NUMBER int,
LINE_NUMBER int,
P_CODE varchar(10),
LINE_UNITS float(8),
LINE_PRICE float(8),
LINE_TOTAL float(8)
);
ALTER TABLE line
CHANGE COLUMN INV_NUMBER INV_NUMBER INT(11) NOT NULL,
CHANGE COLUMN LINE_NUMBER LINE_NUMBER INT(11) NOT NULL,
ADD PRIMARY KEY (INV_NUMBER, LINE_NUMBER),
ADD INDEX P_CODE_idx (P_CODE ASC);
ALTER TABLE line
ADD CONSTRAINT P_CODE
FOREIGN KEY (P_CODE)
REFERENCES product (P_CODE)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
INSERT INTO LINE VALUES(\'1001\',\'1\',\'13-Q2/P2\',\'1\',\'14.99\',\'14.99\');
INSERT INTO LINE VALUES(\'1001\',\'2\',\'23109-HB\',\'1\',\'9.95\',\'9.95\');
INSERT INTO LINE VALUES(\'1002\',\'1\',\'54778-2T\',\'2\',\'4.99\',\'9.98\');
INSERT INTO LINE VALUES(\'1003\',\'1\',\'2238/QPD\',\'1\',\'38.95\',\'38.95\');
INSERT INTO LINE VALUES(\'1003\',\'2\',\'1546-QQ2\',\'1\',\'39.95\',\'39.95\');
INSERT INTO LINE VALUES(\'1003\',\'3\',\'13-Q2/P2\',\'5\',\'14.99\',\'74.95\');
INSERT INTO LINE VALUES(\'1004\',\'1\',\'54778-2T\',\'3\',\'4.99\',\'14.97\');
INSERT INTO LINE VALUES(\'1004\',\'2\',\'23109-HB\',\'2\',\'9.95\',\'19.90\');
INSERT INTO LINE VALUES(\'1005\',\'1\',\'PVC23DRT\',\'12\',\'5.87\',\'70.44\');
INSERT INTO LINE VALUES(\'1006\',\'1\',\'SM-18277\',\'3\',\'6.99\',\'20.97\');
INSERT INTO LINE VALUES(\'1006\',\'2\',\'2232/QTY\',\'1\',\'109.92\',\'109.92\');
INSERT INTO LINE VALUES(\'1006\',\'3\',\'23109-HB\',\'1\',\'9.95\',\'9.95\');
INSERT INTO LINE VALUES(\'1006\',\'4\',\'89-WRE-Q\',\'1\',\'256.99\',\'256.99\');
INSERT INTO LINE VALUES(\'1007\',\'1\',\'13-Q2/P2\',\'2\',\'14.99\',\'29.98\');
INSERT INTO LINE VALUES(\'1007\',\'2\',\'54778-2T\',\'1\',\'4.99\',\'4.99\');
INSERT INTO LINE VALUES(\'1008\',\'1\',\'PVC23DRT\',\'5\',\'5.87\',\'29.35\');
INSERT INTO LINE VALUES(\'1008\',\'2\',\'WR3/TT3\',\'3\',\'119.95\',\'359.85\');
INSERT INTO LINE VALUES(\'1008\',\'3\',\'23109-HB\',\'1\',\'9.95\',\'9.95\');

Solution


/* 1 List all product sales for which the units sold is
greater than the average units sold -- for that product. */


SELECT INV_NUMBER, P_CODE, LINE_UNITS
FROM LINE A
WHERE A.LINE_UNITS > (SELECT AVG(LINE_UNITS)
FROM LINE B
WHERE B.P_CODE = A.P_CODE);


/* 2To the previous query, add a correlated in-line sub-query to list the
average units sold per product. */   


SELECT INV_NUMBER, P_CODE, LINE_UNITS,
(SELECT round(AVG(LINE_UNITS),2) FROM LINE C WHERE C.P_CODE = A.P_CODE) AS AVG_UNITS
FROM LINE A WHERE A.LINE_UNITS > (SELECT AVG(LINE_UNITS)
FROM LINE B
WHERE B.P_CODE = A.P_CODE);


/* 3List all customers who purchased products 13-Q2/P2 and 23109-HB. */


SELECT DISTINCT A.CUS_CODE, A.CUS_FNAME
FROM CUSTOMER AS A
INNER JOIN INVOICE AS B ON A.CUS_CODE =B.CUS_CODE
INNER JOIN LINE AS C ON B.INV_NUMBER =C.INV_NUMBER   
WHERE C.P_CODE IN (\'13-Q2/P2\',\'23109-HB\');

/* 5 List the difference between each products price and the average product price. */


SELECT P_CODE, P_PRICE, ROUND(AVG_PRICE,2), ROUND((P_PRICE- AVG_PRICE),2) DIFF
FROM PRODUCT AS A
JOIN (SELECT AVG(P_PRICE) AS AVG_PRICE FROM PRODUCT) AS B
ON A.P_CODE IS NOT NULL;

/* 4 List all products what a product cost greater than all individual product costs of products
provided by vendors in Florida. Create this query as a Stored Procedure. */

  
DELIMITER //
CREATE PROCEDURE ProdListPriceGTotherProds
(IN STATECODE CHAR(2))
BEGIN
SELECT P_CODE, P_QOH, P_PRICE
FROM PRODUCT
WHERE P_PRICE > (SELECT MAX(A.P_PRICE)
FROM PRODUCT AS A JOIN VENDOR AS B
ON A.V_CODE = B.V_CODE AND B.V_STATE=STATECODE);
END //
DELIMITER ;

/* TO CALL THE PROCEDURE GIVE THE STATE CODE AS INPUT */

CALL ProdListPriceGTotherProds(\'FL\');

/* 6 List all vendors to contact for products with a quantity on hand <= double P_MIN.
Create this query as a Stored Procedure. */


DELIMITER //
CREATE PROCEDURE VendorsInfo()
BEGIN

SELECT * FROM VENDOR
WHERE EXISTS (SELECT * FROM PRODUCT
           WHERE P_QOH<=P_MIN*2
               AND VENDOR.V_CODE = PRODUCT.V_CODE);
  
END //
DELIMITER ;

/* TO CALL THE PROCEDURE */

CALL VendorsInfo();

Using the data below, write SQL statements that will accurately return data for the following: List all product sales for which the units sold is greater than t
Using the data below, write SQL statements that will accurately return data for the following: List all product sales for which the units sold is greater than t
Using the data below, write SQL statements that will accurately return data for the following: List all product sales for which the units sold is greater than t
Using the data below, write SQL statements that will accurately return data for the following: List all product sales for which the units sold is greater than t
Using the data below, write SQL statements that will accurately return data for the following: List all product sales for which the units sold is greater than t

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site