 |
|
รบกวนหน่อยครับ ผมต้องการ sum ข้อมูลจากการเลือก id ที่เหมือนกันของหลายๆ ตาราง แล้วนำผลรวมของ id นั้นมาแสดงผลที่ jtable ครับ รบกวนทีครับ |
|
 |
|
|
 |
 |
|
ลืมบอกไป
ในส่วนของ insert ตรง values ไปหาตัวรับค่าไว้ก่อนนะ
แล้วค่อยนำไปเก็บในอีกเทเบิ้ล
|
 |
 |
 |
 |
Date :
2016-11-02 13:46:53 |
By :
limberger |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จะวนยังไงครับ
ยกตัวอย่างสักหน่อย
|
 |
 |
 |
 |
Date :
2016-11-03 14:00:40 |
By :
limberger |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ต้องการเอา 10 table บวกกันภายในครั้งเดียว???
|
 |
 |
 |
 |
Date :
2016-11-03 16:25:42 |
By :
limberger |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้ครับ ไม่ต้องใช้ for ไม่ต้องวนลูบ
คุณก็เขียน sub query ต่อจากที่ผมเขียนนั่นแหละ
แต่มันจะยาวหน่อย
หรือไม่ก็เขียนทีละกลุ่ม แล้วค่อย เอามาบวกกันต่อ
|
 |
 |
 |
 |
Date :
2016-11-03 16:52:22 |
By :
limberger |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code
SELECT r.id, SUM(r.data) + COALESCE((SELECT SUM(s.data) FROM tb1 AS s WHERE r.id=s.id),0) as total FROM tb2 AS r GROUP BY r.id
insert into tt1 (id, data) values (r.id, total)
SELECT r.id, SUM(r.data) + COALESCE((SELECT SUM(s.data) FROM tb3 AS s WHERE r.id=s.id),0) as total FROM tb4 AS r GROUP BY r.id
insert into tt2 (id, data) values (r.id, total)
.
.
.
.
SELECT r.id, SUM(r.data) + COALESCE((SELECT SUM(s.data) FROM tt1 AS s WHERE r.id=s.id),0) as total FROM tt2 AS r GROUP BY r.id
insert into result1 (id, data) values (r.id, total)
SELECT r.id, SUM(r.data) + COALESCE((SELECT SUM(s.data) FROM tt3 AS s WHERE r.id=s.id),0) as total FROM tt4 AS r GROUP BY r.id
insert into result2 (id, data) values (r.id, total)
Final
SELECT r.id, SUM(r.data) + COALESCE((SELECT SUM(s.data) FROM result1 AS s WHERE r.id=s.id),0) as total FROM result2 AS r GROUP BY r.id
insert into Final (id, data) values (r.id, total)
เขียนแบบนี้เข้าใจง่ายกว่า ในเวลาที่เรานั่งไล่อ่านโค้ด
ถ้าเขียนเป็น sub query ยาวๆ งงเป้นไก่ตาแตกแน่ ถ้าไม่เชี่ยชาญพอ
ปล. ผมคิดว่าคุณเขียน sql ไม่เป้นแน่ๆ ผมไกด์ให้ขนาดนี้แล้ว แต่คุณมองโจทย์ไม่ออก
|
 |
 |
 |
 |
Date :
2016-11-03 17:01:42 |
By :
limberger |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
select id, sum(data) from (
select id, data from table1 union all
select id, data from table2 union all
select id, data from table3 union all
select id, data from table4 union all
select id, data from table5 union all
select id, data from table6 union all
select id, data from table7 union all
select id, data from table8
) as tmp
group by id
|
 |
 |
 |
 |
Date :
2016-11-03 23:13:03 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าบวกอย่างเดียว ก็ทำแบบพี่เชิดอนันต์
เอามา union ให้หมด แล้วค่อยบวก
แต่ที่ผมเขียนให้ สามารถเปลี่ยนเครื่องหมายทางคณิตศาสตร์ได้
|
 |
 |
 |
 |
Date :
2016-11-10 17:25:12 |
By :
limberger |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|