0% found this document useful (0 votes)
16 views

SQL Answer Pom

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

SQL Answer Pom

Copyright
© © All Rights Reserved
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