joine 2 table แบบนี้ยังไงครับ table_A joine table_B แบบให้โหลดเร็วๆ
table_A
id1 , name
001 , กาว
002 , ดินสอ
003 , ยางลบ
table_B
id2 , id1 , num
1 , 001 , 5
2 , 001 , 1
3 , 001 , 0
4 , 002 , 10
5 , 003 , 0
สิ่งที่อยากได้พร้อมผลลัพธ์
ตาราง A joine ตาราง B
โดย group by id1 ในตาราง B แล้ว SUM(num)
ถ้าใน ตาราง B sum แล้ว มีค่าเป็น 0 ไม่ต้องโชว์
แล้วเอาทั้ง 2 ตาราง มา joine กัน
จะได้ ผลลัพธ์//
id , id1 , num
1 , 001 , 6
2 , 002 , 10Tag : PHP, HTML/CSS, JavaScript, Ajax, jQuery
Date :
2017-03-28 14:48:19
By :
sawmon
View :
719
Reply :
3
Code (SQL)
SELECT a.id1,SUM(b.num) AS num FROM
table_A a INNER JOIN table_B b ON a.id1 = b.id1
GROUP BY a.id
Date :
2017-03-28 19:42:03
By :
mr.win
ขอบคุณ ครับ
ถ้าจะเพิ่ม อีก ตาราง คือ ตาราง C
โดยตาราง A มีความสัมพันธ์ กับ ตาราง C โดยฟิวด์ group_A สัมพันธ์ group_C
table_A
id1 , name , group_A
001 , กาว , 1
002 , ดินสอ , 2
003 , ยางลบ , 3
table_B
id2 , id1 , num
1 , 001 , 5
2 , 001 , 1
3 , 001 , 0
4 , 002 , 10
5 , 003 , 0
table_C
id3 , group_C , name_group
1, 1 , ชื่อกรุ๊ป1
2 , 2 , ชื่อกรุ๊ป2
3 , 3 , ชื่อกรุ๊ป3
4 , 4 , ชื่อกรุ๊ป4
----------------------------------
สิ่งที่อยากได้พร้อมผลลัพธ์
(1)group_A เชื่อม group_C
(2)id1 A เชื่อม id1 B
แล้ว SUM(num) ในตาราง B
และเรียงข้อมูล จาก group_C ASC
จะได้ ผลลัพธ์//
id , id1 , num , group_C
1 , 001 , 6 , ชื่อกรุ๊ป1
2 , 002 , 10 , ชื่อกรุ๊ป2
ประวัติการแก้ไข 2017-03-29 16:21:53
Date :
2017-03-29 16:20:44
By :
sawmon
รบกวนด้วยครับ
Date :
2017-03-30 15:47:10
By :
sawmon
Load balance : Server 00