 |
สอบถามผู้รู้หน่อยครับบบบ...เรื่อง ยอดคงเหลือล่าสุดของid ไปรวมกับ ยอดรับใหม่ของid |
|
 |
|
|
 |
 |
|
จะ SELECT หรอครับ หรือว่าไงครับ
$sql = mysql_query("SELECT *, SUM((med_amount+remain)) AS med_total FROM tablename GROUP BY med_idlab");
while($result = mysql_fetch_assoc($sql)){
echo $result['med_total'];
}
|
ประวัติการแก้ไข 2017-01-31 19:13:07 2017-01-31 19:32:55
 |
 |
 |
 |
Date :
2017-01-31 19:11:52 |
By :
tomrambo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้บ้างส่วนครับ
เอายอดคงเหลือ เลขรายการ 1 (กรอบน้ำเงิน) คือ 27(กรอบแดง) ไปรวมกับ ยอดรับมาใหม่ เลขรายการ 1 มาใหม่ (กรอบน้ำเงิน) เ็น 57
ยอดรับมา ที่ตัดยอด ผมไม่เอามาคิดครับ
ประมาณนี้ครับ (ตามภาพ)

|
 |
 |
 |
 |
Date :
2017-02-01 09:06:55 |
By :
baby137 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2017-02-01 10:10:58 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าจะใช้ชื่อเดิมก็แก้ที่นี้ด้วย
sum(med_amount) AS amount
.sum(med_confirm) AS confirm
เพราะชื่อใหม่ที่ใช้เรียกถูกเปลี่ยนไปแล้ว -*-
แก้เป็นแบบนี้
sum(med_amount) AS med_amount
.sum(med_confirm) AS med_confirm
|
ประวัติการแก้ไข 2017-02-01 10:45:43
 |
 |
 |
 |
Date :
2017-02-01 10:45:09 |
By :
thesin18598 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอโทษครับ ลืม
SELECT
med_idlab
,amount
,confirm
,SUM(amount - confirm) AS remain
FROM
(
SELECT
med_idlab
,sum(med_amount) AS amount
.sum(med_confirm) AS confirm
FROM table
GROUP BY med_idlab
)
GROUP BY med_idlab
|
 |
 |
 |
 |
Date :
2017-02-01 11:02:29 |
By :
thesin18598 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เช็คอันนี้ก่อน error ไหมครับ
SELECT
med_idlab
,sum(med_amount) AS amount
.sum(med_confirm) AS confirm
FROM table
GROUP BY med_idlab
แก้ไขใหม่
SELECT
rem.med_idlab
,rem.amount
,rem.confirm
,SUM(rem.amount - rem.confirm) AS remain
FROM
(
SELECT
med_idlab
,sum(med_amount) AS amount
.sum(med_confirm) AS confirm
FROM table
GROUP BY med_idlab
) rem
GROUP BY rem.med_idlab
|
ประวัติการแก้ไข 2017-02-01 11:19:24 2017-02-01 11:19:39
 |
 |
 |
 |
Date :
2017-02-01 11:15:31 |
By :
thesin18598 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก่อน GROUP BY แถวสุดท้าย
SELECT
rem.med_idlab
,rem.amount
,rem.confirm
,SUM(rem.amount - rem.confirm) AS remain
FROM
(
SELECT
med_idlab
,sum(med_amount) AS amount
.sum(med_confirm) AS confirm
FROM table
GROUP BY med_idlab
) rem
JOIN ............................
GROUP BY rem.med_idlab
/*---------------------------------------------------------------------*/
แก้ไขเพิ่มเติม
ปล 1. ตรงนี้ให้มองเป็น 1 table ได้เลยครับ field ตามที่กำนด เพิ่มได้ ตาม table ที่เรียกใช้ หรือจะทำเป็น viwer ไว้เลยก็ได้
ปล2. อย่าลืมว่าเราตั้งชื่อใหม่ table นี้ คือ rem เพราะฉนั้นเวลาเรียกใช้ field ต้องมี rem. นำหน้าเสมอ
FROM
(
SELECT
med_idlab
,sum(med_amount) AS amount
.sum(med_confirm) AS confirm
FROM table
GROUP BY med_idlab
) rem
/*----------------------------------------------------------------------*/
|
ประวัติการแก้ไข 2017-02-01 11:49:59
 |
 |
 |
 |
Date :
2017-02-01 11:45:00 |
By :
thesin18598 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|