 |
สอบถามการเขียน sub query ดึงข้อมูล โดยจะ sum point ข้อมูลในคอลัมโดยมีเงื่อนไขในการแสดงคะแนนครับ |
|
 |
|
|
 |
 |
|
Code (SQL)
select id,name,sum(point) as point from(
select m.*,case
when o.status=1 then o.point else (o.point*(-1)) end point
from member m
left join order o on m.id=o.member_id
) group by id,name
|
ประวัติการแก้ไข 2018-05-23 16:42:57
 |
 |
 |
 |
Date :
2018-05-23 16:42:21 |
By :
mongkon.k |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองรันชุดนี้ดูก่อนว่า point มีติดลบและไม่ติดลบถูกต้องตาม status มั้ย
Code (SQL)
select m.*,case
when o.status=1 then o.point else (o.point*(-1)) end points
from member m
left join order o on m.id=o.member_id
|
 |
 |
 |
 |
Date :
2018-05-24 13:46:19 |
By :
mongkon.k |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
select max(member.name) as name,sum(case when order.status = 1 then order.point else order.point*-1 end) as point_all
from order left join member on member.id = order.id group by order.id
|
 |
 |
 |
 |
Date :
2018-05-25 09:05:37 |
By :
ten1312 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|