SUM ข้อมูลจาก 2 table โดยใช้ ปี เป็นตัวกำหนด ในให้ SUM จำนวนเงินของปี นั้นๆ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา SUM ข้อมูลจาก 2 table โดยใช้ ปี เป็นตัวกำหนด ในให้ SUM จำนวนเงินของปี นั้นๆ
SUM ข้อมูลจาก 2 table โดยใช้ ปี เป็นตัวกำหนด ในให้ SUM จำนวนเงินของปี นั้นๆ
เพิ่มเติมนะครับ อยากให้ ในกรณีที่ tb1(รายรับ) ไม่มีข้อมูลจำนวนเงินของปี 2560 เเต่ tb2(รายจ่าย) มี อยากให้ดึงข้อมูลที่มีของ tb2 ออกมา เเละในส่วนของ tb1 ก้ให้ว่างไปครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
ลองดูข้อมูลนี้เป็นแนวทาง
ข้อมูลตัวอย่าง
คำสั่ง SQL
ตัวอย่างผลลัพธ์
ข้อมูลตัวอย่าง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | CREATE TABLE tbl1 (` year ` int , `income` int ) ; INSERT INTO tbl1 (` year `, `income`) VALUES (2557, 10), (2558, 20), (2559, 30), (2561, 50) ; CREATE TABLE tbl2 (` year ` int , `expense` int ) ; INSERT INTO tbl2 (` year `, `expense`) VALUES (2557, 25), (2558, 50), (2559, 60), (2560, 70), (2561, 80) ; |
คำสั่ง SQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SELECT c. year , IFNULL(a.income,0) as income, IFNULL(b.expense,0) as expense, SUM (c.val) as sum FROM ( SELECT a. year ,a.income as val FROM tbl1 a UNION SELECT b. year ,b.expense as val FROM tbl2 b ) as c LEFT JOIN tbl1 a ON c. year = a. year LEFT JOIN tbl2 b ON c. year = b. year GROUP BY c. year |
ตัวอย่างผลลัพธ์

ความคิดเห็นที่
2
ขอบคุนมากครับ

ความคิดเห็นที่
3
เกือบได้เเล้วครับติดเเต่มัน SUM กันซ้ำซ้อนจนค่าที่ออกมามันไม่จริงครับ
--------------------------------------------------------------------------------------------------------------------------------------------------------
ตารางที่A ตารางที่B

ความคิดเห็นที่
4
ได้เเล้ว ครับ 


ขอบคุณทุกการสนับสนุน
![]()