0% found this document useful (0 votes)
22 views4 pages

SQL Answer Pom

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views4 pages

SQL Answer Pom

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1.

SELECT PARTNER.country AS country,


ORDER_STATUS.status AS status,
SUM(SALES_ORDER.total_selling_price) AS sum_total_selling_price
FROM SALES_ORDER
JOIN ORDER_STATUS ON SALES_ORDER.order_id = ORDER_STATUS.order_id
JOIN PARTNER ON SALES_ORDER.partner_id = PARTNER.partner_id
WHERE PARTNER.country IN ('Thailand', 'Philippines')
AND ORDER_STATUS.status = 'DELIVERED'
AND YEAR(SALES_ORDER.order_date) = 2017
AND MONTH(SALES_ORDER.order_date) = 6
GROUP BY PARTNER.country, ORDER_STATUS.status;

2.

SELECT top(10) PARTNER.partner_name, SALES_ORDER.item_id, SUM(SALES_ORDER.item_quantity)


AS sum_quantity
FROM SALES_ORDER
JOIN PARTNER ON SALES_ORDER.partner_id = PARTNER.partner_id
WHERE PARTNER.partner_name = 'XYZ'
GROUP BY PARTNER.partner_name, SALES_ORDER.item_id
ORDER BY sum_quantity DESC;
3.

SELECT SALES_ORDER.item_id, SALES_ORDER.sales_channel, COUNT(DISTINCT


SALES_ORDER.customer_id) AS distinct_count_of_customer
FROM SALES_ORDER
JOIN ORDER_STATUS ON SALES_ORDER.order_id = ORDER_STATUS.order_id
WHERE SALES_ORDER.item_id = 1001
AND ORDER_STATUS.status = 'REJECTED'
AND YEAR(SALES_ORDER.order_date) = 2017
AND MONTH(SALES_ORDER.order_date) IN (2, 3)
GROUP BY SALES_ORDER.item_id, SALES_ORDER.sales_channel;

4.

SELECT
AREA.province,
COUNT(AREA.province) AS number_of_order,
CONCAT(ROUND((CAST(COUNT(AREA.province) AS DECIMAL(4,2)) * 100 / (SELECT COUNT(*)
FROM SALES_ORDER )),2),'%') AS percentage_of_total
FROM
SALES_ORDER
JOIN ORDER_STATUS ON SALES_ORDER.order_id = ORDER_STATUS.order_id
JOIN AREA ON ORDER_STATUS.destination_postal_code = AREA.postal_code
GROUP BY
AREA.province;
5.

SELECT
P.partner_name,
SO.order_id,
CONCAT(DAY(SO.order_date), '-',
CASE
WHEN MONTH(SO.order_date) = 1 THEN 'Jan'
WHEN MONTH(SO.order_date) = 2 THEN 'Feb'
WHEN MONTH(SO.order_date) = 3 THEN 'Mar'
WHEN MONTH(SO.order_date) = 4 THEN 'Apr'
WHEN MONTH(SO.order_date) = 5 THEN 'May'
WHEN MONTH(SO.order_date) = 6 THEN 'Jun'
WHEN MONTH(SO.order_date) = 7 THEN 'Jul'
WHEN MONTH(SO.order_date) = 8 THEN 'Aug'
WHEN MONTH(SO.order_date) = 9 THEN 'Sep'
WHEN MONTH(SO.order_date) = 10 THEN 'Oct'
WHEN MONTH(SO.order_date) = 11 THEN 'Nov'
WHEN MONTH(SO.order_date) = 12 THEN 'Dec'
END,
'-', YEAR(SO.order_date)
) AS order_date,
CONCAT(RC.commission_rate * 100, '%') AS commission_rate,
SO.total_selling_price,
ROUND(SO.total_selling_price * RC.commission_rate, 2) AS commission_fee
FROM
SALES_ORDER AS SO
JOIN PARTNER AS P ON SO.partner_id = P.partner_id
JOIN RATECARD AS RC ON P.partner_id = RC.partner_id
WHERE
P.partner_name = 'XYZ'
AND SO.total_selling_price IS NOT NULL
AND SO.total_selling_price > 0
AND SO.order_date >= RC.period_start
AND SO.order_date <= RC.period_end;
6.

SELECT
sales_channel,
customer_id,
COUNT(order_id) AS number_of_orders
FROM
SALES_ORDER
GROUP BY
sales_channel,
customer_id;

7.

SELECT
order_id,
partner_id,
destination_postal_code
FROM
ORDER_STATUS
WHERE
destination_postal_code NOT IN (
SELECT postal_code
FROM Area
);

You might also like