สอบถามครับ ข้อมูลของผมจะมีรายการสินค้าซ้ำกันทุกวันและมีมากกว่า1ลูกค้าที่ชื้อสินค้าชนิดเดียวกันอย่างเช่น สินค้า A ชื้อมากกว่า 1 ครั้ง แต่คนละลูกค้ากันครับ เวลาทำยกยอดคงเหลือมา จะนำยอดคงเหลือของวันก่อนมาเป็นยอดยกหรือรายการก่อนหน้าของแต่ละรายการ
ผมได้สร้าง query เข้า กับ Query ออก และนำมา left join และ right join แล้วนำมา UNION กันครับ
หลังจากนั้นก็สร้างquery ยกยอด ตามนี้ครับ
ยกยอด: (SELECT nz(Sum([IN]))-nz(Sum([OUT])) FROM [Qry_INOUT] AS T1 WHERE [Qry_INOUT].[วันที่] > T1.[วันที่] AND [Qry_INOUT].[รหัสสินค้า] = T1.[รหัสสินค้า])
เมื่อผมทำอย่างนี้แล้วผลจะเป็ตามตารางข้างล่างครับ
วันที่ ชื่อลูกค้า รหัสสินค้า ชื่อสินค้า ยกยอด IN OUT คงเหลือ
31/1/2020 1 A 0 100 0 100
1/2/2020 ลูกค้า A 1 A 100 0 10 90
1/2/2020 ลูกค้า B 1 A 100 0 10 90
บรรทัดแรกเป็นสินค้าA เป็นคงเหลือของสินเดือน ม.ค.20 แล้วนำมาเป็นยกยอดของเดือน ก.พ.20 ครับ
จะเห็นได้ว่ายอดยกมาของทั้งสองรายการของวันที่ 1/2/2020 ยกมาเท่ากันคือ 100 ครับ ทำให้คงเหลือของทั้งสองรายการมีจำนวนเท่ากันครับ ทั้งที่จริง ยกยอดของลูกค้าB ควรจะเป็น 90ครับ และนำมาลบกับ OUT จะได้ 80ครับ
ไม่ทราบว่าพอจะมีทางแก้ไขการยกยอดให้ตรงตามที่กล่าวมาได้หรือเปล่าครับ?
ขอบคุณมากครับ