You are on page 1of 3

SELECT p.PRODUCT_CLASS_CODE,p.PRODUCT_ID,p.

PRODUCT_DESC,
CASE p.PRODUCT_CLASS_CODE
WHEN 2050 THEN p.PRODUCT_PRICE+2000
WHEN 2051 THEN p.PRODUCT_PRICE+500
WHEN 2052 THEN p.PRODUCT_PRICE+600
ELSE p.PRODUCT_PRICE
END PRODUCT_PRICE
FROM PRODUCT p
INNER JOIN PRODUCT_CLASS pc
on p.PRODUCT_CLASS_CODE=pc.PRODUCT_CLASS_CODE
ORDER by p.PRODUCT_CLASS_CODE DESC;

------------------------------------------------------

SELECT pc.PRODUCT_CLASS_DESC as 'Product Category',


p.PRODUCT_ID as 'Product ID',
p.PRODUCT_DESC as 'Product Description',
p.PRODUCT_QUANTITY_AVAIL as 'Product Availability',
CASE
WHEN pc.PRODUCT_CLASS_CODE in (2050,2053) THEN
CASE
WHEN p.PRODUCT_QUANTITY_AVAIL=0 THEN 'out of stock'
WHEN p.PRODUCT_QUANTITY_AVAIL<=10 THEN 'low stock'
WHEN (p.PRODUCT_QUANTITY_AVAIL>=11 AND p.PRODUCT_QUANTITY_AVAIL<=30) THEN 'In
stock'
WHEN (PRODUCT_QUANTITY_AVAIL>=31) THEN 'enough stock'
END
WHEN pc.PRODUCT_CLASS_CODE in(2052,2056) THEN
CASE
WHEN p.PRODUCT_QUANTITY_AVAIL=0 THEN 'out of stock'
when p.PRODUCT_QUANTITY_AVAIL<=20 THEN 'low stock'
WHEN (p.PRODUCT_QUANTITY_AVAIL>=21 and p.PRODUCT_QUANTITY_AVAIL<=80)THEN 'In stock'
WHEN (PRODUCT_QUANTITY_AVAIL>=81)THEN 'Enough Stock'
END
ELSE
CASE
WHEN p.PRODUCT_QUANTITY_AVAIL=0 THEN 'out of stock'
WHEN p.PRODUCT_QUANTITY_AVAIL<=15 THEN 'low stock'
WHEN (p.PRODUCT_QUANTITY_AVAIL>=16 AND p.PRODUCT_QUANTITY_AVAIL<=50) THEN 'In
stock'
WHEN (PRODUCT_QUANTITY_AVAIL>=51) THEN 'Enough stock'
END
END as 'inventory status'
from PRODUCT p
INNER JOIN PRODUCT_CLASS pc on p.PRODUCT_CLASS_CODE=pc.PRODUCT_CLASS_CODE
order by p.PRODUCT_CLASS_CODE,p.PRODUCT_QUANTITY_AVAIL;

--------------------------------------------
SELECT count(city) as count_of_cities,
COUNTRY as coutry
FROM ADDRESS
GROUP by COUNTRY
HAVING COUNTRY NOT in ('USA','Malaysia') AND count(city)>1
ORDER by count_of_cities DESC;

---------------------------------------------
****
SELECT oc.CUSTOMER_ID,(oc.CUSTOMER_FNAME||''|| oc.CUSTOMER_LNAME) as
customer_full_name,
a.CITY,a.PINCODE,oh.ORDER_ID,pc.PRODUCT_CLASS_DESC,p.PRODUCT_DESC,
p.PRODUCT_PRICE,oi.PRODUCT_QUANTITY,
(oi.PRODUCT_QUANTITY*p.PRODUCT_PRICE) as sub_total
FROM ONLINE_CUSTOMER oc
INNER JOIN ADDRESS a on oc.ADDRESS_ID=a.ADDRESS_ID
INNER JOIN ORDER_HEADER oh on oh.CUSTOMER_ID=oc.CUSTOMER_ID
INNER JOIN ORDER_ITEMS oi on oi.ORDER_ID=oh.ORDER_ID
INNER JOIN PRODUCT p on p.PRODUCT_ID=oi.PRODUCT_ID
INNER JOIN PRODUCT_CLASS pc on pc.PRODUCT_CLASS_CODE=p.PRODUCT_CLASS_CODE

WHERE oh.ORDER_STATUS='shipped' AND a.PINCODE not like '%0%'


ORDER by customer_full_name,sub_total;

--------------------
SELECT oi.PRODUCT_ID,p.PRODUCT_DESC,sum(oi.PRODUCT_QUANTITY) as total_quantity
FROM ORDER_ITEMS oi
INNER JOIN PRODUCT p on p.PRODUCT_ID=oi.PRODUCT_ID
WHERE oi.ORDER_ID in
(
SELECT DISTINCT
ORDER_ID
FROM
ORDER_ITEMS a
WHERE
PRODUCT_ID=201
)
AND oi.PRODUCT_ID<>201
GROUP by oi.PRODUCT_ID
ORDER by
total_quantity
DESC
LIMIT 1;

-------------------------------------------------------------
SELECT oc.CUSTOMER_ID,(oc.CUSTOMER_FNAME ||''|| oc.CUSTOMER_LNAME) as
customer_full_name,
oc.CUSTOMER_EMAIL,
o.ORDER_ID,p.PRODUCT_DESC,oi.PRODUCT_QUANTITY,p.PRODUCT_PRICE,
(oi.PRODUCT_QUANTITY*p.PRODUCT_PRICE)
FROM
ONLINE_CUSTOMER oc
LEFT JOIN ORDER_HEADER o on oc.CUSTOMER_ID=o.CUSTOMER_ID
LEFT JOIN ORDER_ITEMS oi on o.ORDER_ID=oi.ORDER_ID
LEFT JOIN PRODUCT p on oi.PRODUCT_ID=p.PRODUCT_ID
ORDER by oc.CUSTOMER_ID,oi.PRODUCT_QUANTITY DESC;

--------------------------------------------------------------
***************************************************************************

SELECT C.CARTON_ID ,
(C.LEN*C.WIDTH*C.HEIGHT) as volume
FROM ORDERS.CARTON C
WHERE(C.LEN*C.WIDTH*C.HEIGHT)>=(
SELECT
SUM(P.LEN*P.WIDTH*P.HEIGHT*PRODUCT_QUANTITY) AS VOL
FROM ORDERS.ORDER_HEADER OH
INNER JOIN ORDERS.ORDER_ITEMS OI ON OH.ORDER_ID=OI.ORDER_ID
INNER JOIN ORDERS.PRODUCT P ON OI.PRODUCT_ID=P.PRODUCT_ID

WHERE OH.ORDER_ID=10006
)
ORDER BY (C.LEN*C.WIDTH*C.HEIGHT)ASC
LIMIT 1;

--------------------------------------------------------------
SELECT OC.CUSTOMER_ID AS CUSTOMER_ID,
CONCAT(CUSTOMER_FNAME,'',CUSTOMER_LNAME) AS Customer_FullNmae,
OH.ORDER_ID AS Order_ID,
SUM(OI.PRODUCT_QUANTITY) AS Total_order_quantity
from ONLINE_CUSTOMER OC
INNER JOIN ORDER_HEADER OH ON OH.CUSTOMER_ID=OC.CUSTOMER_ID
INNER JOIN ORDER_ITEMS OI ON OI.ORDER_ID=OH.ORDER_ID
WHERE OH.ORDER_STATUS='Shipped'
GROUP BY OH.ORDER_ID
HAVING Total_order_quantity>10
ORDER BY CUSTOMER_ID;

-----------------------------------------------------------------

SELECT OC.CUSTOMER_ID AS Customer_ID,


CONCAT(CUSTOMER_FNAME,'',CUSTOMER_LNAME)AS Customer_FullName,
OH.ORDER_ID AS ORDER_ID,
SUM(OI.PRODUCT_QUANTITY)AS Total_Order_Quantity
FROM ONLINE_CUSTOMER OC
INNER JOIN ORDER_HEADER OH ON OH.CUSTOMER_ID=OC.CUSTOMER_ID
INNER JOIN ORDER_ITEMS OI ON OI.ORDER_ID=OI.ORDER_ID
WHERE OH.ORDER_STATUS='Shipped' AND OH.ORDER_ID>10030
GROUP BY OH.ORDER_ID
ORDER BY Customer_FullName;

----------------------------------------------

SELECT PC.PRODUCT_CLASS_CODE AS Product_Class_Code,


PC.PRODUCT_CLASS_DESC AS Product_Class_Description,
SUM(OI.PRODUCT_QUANTITY*P.PRODUCT_PRICE) AS Total_Value
FROM ORDER_ITEMS OI
INNER JOIN ORDER_HEADER OH ON OH.ORDER_ID=OI.ORDER_ID
INNER JOIN ONLINE_CUSTOMER OC ON OC.CUSTOMER_ID =OH.CUSTOMER_ID
INNER JOIN PRODUCT P ON P.PRODUCT_ID=OI.PRODUCT_ID
INNER JOIN PRODUCT_CLASS PC ON PC.PRODUCT_CLASS_CODE=P.PRODUCT_CLASS_CODE
INNER JOIN ADDRESS A ON A.ADDRESS_ID=OC.ADDRESS_ID
WHERE OH.ORDER_STATUS='Shipped' AND A.COUNTRY NOT IN ('India','USA')
GROUP BY PC.PRODUCT_CLASS_CODE,PC.PRODUCT_CLASS_DESC
ORDER BY Total_Value DESC
LIMIT 1;

You might also like