SQL Answer Pom
SQL Answer Pom
2.
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
);