WITH t1 AS (
			SELECT b1.book_id,
			       b1.book_title,
				   b1.category,
				   b2.branch_id,
				   b2.borrow_date,
				   b2.member_id,
				   b3.branch_name,
				   b3.region
            FROM Books b1
			LEFT JOIN BorrowRecords b2 ON b1.book_id = b2.book_id
			LEFT JOIN Branches b3 ON b3.branch_id = b2.branch_id
),
t2 AS (
		SELECT book_id,
			   ROUND(
			   		  COUNT(CASE WHEN region = '华北'THEN book_id END)/
					  COUNT(book_id)* 100,
					  2) AS north_pct_2023,
				ROUND(
				      COUNT(CASE WHEN region = '华南'THEN book_id END)/
				      COUNT(book_id)* 100,
					  2) AS south_pct_2023,
				ROUND(
				      COUNT(CASE WHEN region = '华东'THEN book_id END)/
					  COUNT(book_id)* 100,
					  2) AS east_pct_2023
		FROM t1 
		WHERE YEAR(borrow_date) = 2023
		GROUP BY book_id
)
SELECT t1.book_id,
	   t1.book_title,
	   COALESCE(
	        COUNT(CASE 
					WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2023-02' THEN t1.book_id
				  END),
		0) AS feb_2023_borrows,
	   COALESCE(
	        COUNT(CASE 
			        WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2024-02' THEN t1.book_id
				  END),
		0) AS feb_2024_borrows,
	   COALESCE(
	        COUNT(CASE 
			        WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2024-01' THEN t1.book_id
				  END),
		0) AS jan_2024_borrows,
	   COALESCE(
	        COUNT(CASE 
			        WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2024-02' THEN t1.book_id
			      END) - 
			COUNT(CASE 
			        WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2023-02' THEN t1.book_id
				  END),
		0) AS yoy_delta,
		COALESCE(
		     COUNT(CASE 
			         WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2024-02' THEN t1.book_id
				   END) - 
			 COUNT(CASE 
			         WHEN DATE_FORMAT(t1.borrow_date,'%Y-%m') = '2024-01' THEN t1.book_id
				   END),
		0)  AS mom_delta,
		COALESCE(t2.north_pct_2023,0) AS north_pct_2023,
		COALESCE(t2.south_pct_2023,0) AS south_pct_2023,
		COALESCE(t2.east_pct_2023,0) AS east_pct_2023
FROM t1
LEFT JOIN t2 ON t1.book_id = t2.book_id
GROUP BY t1.book_id