คำนวณความต่างของราคาสินค้าระหว่างสองช่วงเวลา
ใช้ LEFT JOIN เพื่อนำข้อมูลจากตารางราคาปัจจุบันมาลบกับตารางราคาเก่า โดยจับคู่ด้วย ID สินค้า
ข้อมูลตัวอย่าง
ตาราง value_curdate (ราคาปัจจุบัน)
+----+----------+-------+
| Id | Product | Price |
+----+----------+-------+
| 1 | Notebook | 100 |
| 2 | Pen | 40 |
| 3 | Pencil | 65 |
+----+----------+-------+
ตาราง value_prevdate (ราคาเก่า)
+----+-----------+-------+
| Id | Product | Price |
+----+-----------+-------+
| 1 | Notebook | 85 |
| 2 | Pen | 34 |
| 3 | Pencil | 56 |
| 4 | Colors | 65 |
| 5 | Fevistick | 25 |
+----+-----------+-------+
คำสั่ง SQL
SELECT
value_curdate.id,
value_curdate.product,
value_curdate.price AS Curprice,
value_prevdate.price AS prevprice,
value_curdate.price - value_prevdate.price AS Difference
FROM value_curdate
LEFT JOIN value_prevdate ON value_curdate.id = value_prevdate.id;
ผลลัพธ์
+----+----------+----------+-----------+------------+
| id | product | Curprice | prevprice | Difference |
+----+----------+----------+-----------+------------+
| 1 | Notebook | 100 | 85 | 15 |
| 2 | Pen | 40 | 34 | 6 |
| 3 | Pencil | 65 | 56 | 9 |
+----+----------+----------+-----------+------------+
ข้อสังเกต
- LEFT JOIN เก็บข้อมูลฝั่งซ้าย (ราคาปัจจุบัน) ไว้ทั้งหมด
- สินค้าที่ไม่มีในตารางเก่า (Colors, Fevistick) จะไม่แสดงในผลลัพธ์
- ใช้ได้กับการเปรียบเทียบข้อมูลระหว่างสองช่วงเวลา