กระทู้เก่าบอร์ด อ.Yeadram
1,044 3
URL.หัวข้อ /
URL
การตัดสต๊อคแบบมีเงื่อนไข
สอบถามเรื่องการตัดสต๊อคแบบมีเงื่อนไขหน่อยครับ
คือ การตัดสต๊อคแบบพื้นฐานนี่ผมพอทำได้แล้วครับ
stockqty - saleqty (รูปแบบของการขายปลีก)
ขออธิบายก่อนนะครับ
1.สินค้าผมเป็นเสื้อผ้า รหัส PRD1 แบบเดียวแต่จะมีหลายขนาด
เช่น ไซส์ A,B,C,D
2.แต่ละขนาด ราคาก็จะต่างกัน เช่น A ราคา 60 , B ราคา 70 ,
C ราคา 80 , D ราคา 90
ดังนั้นตารางของผมปัจจุบันจึงเป็นดังนี้
2.1. ตารางชื่อ t_product
2.2. มีทั้งหมด 5 ฟิลด์ โครงสร้างตารางสินค้าเป็นดังนี้
ID PRDNAME SIZE PRICE STKQTY
0001 PRD1 A 60 150
0002 PRD1 B 70 150
0003 PRD1 C 80 150
0004 PRD1 D 90 150
ต่อมาผมต้องการตัดสต๊อคแบบจัดชุดเพื่อการขายส่ง
มีการจัดชุดสินค้า ด้วยเงื่อนไข 1 แพ็คมี 6 ตัว แบบคละไซส์ S,M,L,XL
ราคาเฉลี่ยอยู่ที่ตัวละ 75*6 = 1 แพ็คราคา 450
ID PRDNAME SIZE PRICE STKQTY
0001 PRD1 A 60 149 (เมื่อจัดชุดตัดสต๊อค1)
0002 PRD1 B 70 149 (เมื่อจัดชุดตัดสต๊อค1)
0003 PRD1 C 80 148 (เมื่อจัดชุดตัดสต๊อค2)
0004 PRD1 D 90 148 (เมื่อจัดชุดตัดสต๊อค2)
0005 PRD1 A,B,C,D 450 1 (สินค้าจัดเป็นชุด)
คำถามครับ
1.หากผมจะสร้างฟอร์มเพื่อจัดชุดสินค้าและตัดยอดสินค้าที่นำมาจัดชุดโดยอัตโนมัติ ผมต้องทำอะไรเพิ่มบ้างครับ
เช่น สร้างคิวรี่ หรือ เพิ่มตาราง แล้วรูปแบบของฟอร์มควรเป็นอย่างไร
2.การออกแบบตารางของผมเหมาะสมหรือไม่ครับ
ควรเปลี่ยนหรือเพิ่มอะไรไหมครับ
ขอแนวทางหน่อยครับ
คือ การตัดสต๊อคแบบพื้นฐานนี่ผมพอทำได้แล้วครับ
stockqty - saleqty (รูปแบบของการขายปลีก)
ขออธิบายก่อนนะครับ
1.สินค้าผมเป็นเสื้อผ้า รหัส PRD1 แบบเดียวแต่จะมีหลายขนาด
เช่น ไซส์ A,B,C,D
2.แต่ละขนาด ราคาก็จะต่างกัน เช่น A ราคา 60 , B ราคา 70 ,
C ราคา 80 , D ราคา 90
ดังนั้นตารางของผมปัจจุบันจึงเป็นดังนี้
2.1. ตารางชื่อ t_product
2.2. มีทั้งหมด 5 ฟิลด์ โครงสร้างตารางสินค้าเป็นดังนี้
ID PRDNAME SIZE PRICE STKQTY
0001 PRD1 A 60 150
0002 PRD1 B 70 150
0003 PRD1 C 80 150
0004 PRD1 D 90 150
ต่อมาผมต้องการตัดสต๊อคแบบจัดชุดเพื่อการขายส่ง
มีการจัดชุดสินค้า ด้วยเงื่อนไข 1 แพ็คมี 6 ตัว แบบคละไซส์ S,M,L,XL
ราคาเฉลี่ยอยู่ที่ตัวละ 75*6 = 1 แพ็คราคา 450
ID PRDNAME SIZE PRICE STKQTY
0001 PRD1 A 60 149 (เมื่อจัดชุดตัดสต๊อค1)
0002 PRD1 B 70 149 (เมื่อจัดชุดตัดสต๊อค1)
0003 PRD1 C 80 148 (เมื่อจัดชุดตัดสต๊อค2)
0004 PRD1 D 90 148 (เมื่อจัดชุดตัดสต๊อค2)
0005 PRD1 A,B,C,D 450 1 (สินค้าจัดเป็นชุด)
คำถามครับ
1.หากผมจะสร้างฟอร์มเพื่อจัดชุดสินค้าและตัดยอดสินค้าที่นำมาจัดชุดโดยอัตโนมัติ ผมต้องทำอะไรเพิ่มบ้างครับ
เช่น สร้างคิวรี่ หรือ เพิ่มตาราง แล้วรูปแบบของฟอร์มควรเป็นอย่างไร
2.การออกแบบตารางของผมเหมาะสมหรือไม่ครับ
ควรเปลี่ยนหรือเพิ่มอะไรไหมครับ
ขอแนวทางหน่อยครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R19512
ถ้าแยกไม่ได้ว่า ในชุด มี A กี่ตัว, B กี่ตัว, ... ก็ตัด stock ไม่ได้ครับ
2 @R19515
อ่อ ใช่ครับ ลืมบอกไป
ใน 1 ชุด (6ตัว) จะมี
A=1 ตัว เมื่อจัดชุด ID 0001 จะถูกตัดสต๊อค 1
B=1 ตัว เมื่อจัดชุด ID 0002 จะถูกตัดสต๊อค 1
C=2 ตัว เมื่อจัดชุด ID 0003 จะถูกตัดสต๊อค 2
D=2 ตัว เมื่อจัดชุด ID 0004 จะถูกตัดสต๊อค 2
แบบนี้ครับ
ปัญหาคือต้องการจะสร้างฟอร์มแต่ไม่ทราบว่าจะเริ่มต้นอย่างไรดีครับ
ขอความกรุณาด้วยครับ ท่านอาจารย์ PichaiTC
ใน 1 ชุด (6ตัว) จะมี
A=1 ตัว เมื่อจัดชุด ID 0001 จะถูกตัดสต๊อค 1
B=1 ตัว เมื่อจัดชุด ID 0002 จะถูกตัดสต๊อค 1
C=2 ตัว เมื่อจัดชุด ID 0003 จะถูกตัดสต๊อค 2
D=2 ตัว เมื่อจัดชุด ID 0004 จะถูกตัดสต๊อค 2
แบบนี้ครับ
ปัญหาคือต้องการจะสร้างฟอร์มแต่ไม่ทราบว่าจะเริ่มต้นอย่างไรดีครับ
ขอความกรุณาด้วยครับ ท่านอาจารย์ PichaiTC
3 @R19516
เอาแบบแก้น้อยนะครับ
ถ้าใช้ table เดิม ให้แก้ดังนี้
1. เปลี่ยน primary key เป็น ID, PRDName และ Size
2. กรณีจัดชุด ต้องพิจารณาเรื่องการเอาราคาไปใช้งานต่อด้วยว่าราคาจำเป็นต้องกระจายให้กับสินค้าทุกตัวหรือไม่ - ผมสันนิษฐานว่าไม่ต้อง เพราะฉะนั้นกำหนดราคาที่ตัวใดตัวหนึ่งที่เหลือให้เป็น 0 ให้ใส่ข้อมูลตามนี้
ID PRDNAME SIZE PRICE SaleQTY
0005 PRD1 A 450 1
0005 PRD1 B 0 1
0005 PRD1 C 0 2
0005 PRD1 D 0 2
3. เนื่องจาก 1 ชุดกระจายเป็นหลาย record เวลาต้องการดูราคา ต้อง Group By ID และ Sum(Price) ด้วย
4. เมื่อต้องการตัด Stock สามารถใช้ stockqty - saleqty ได้ตามเดิม
วิธีอื่น เช่น แยก Table เป็น 2 Table
1) เก็บ ID, Price
2) เก็บ ID, PRDName, Size, SaleQty
ถ้าใช้ table เดิม ให้แก้ดังนี้
1. เปลี่ยน primary key เป็น ID, PRDName และ Size
2. กรณีจัดชุด ต้องพิจารณาเรื่องการเอาราคาไปใช้งานต่อด้วยว่าราคาจำเป็นต้องกระจายให้กับสินค้าทุกตัวหรือไม่ - ผมสันนิษฐานว่าไม่ต้อง เพราะฉะนั้นกำหนดราคาที่ตัวใดตัวหนึ่งที่เหลือให้เป็น 0 ให้ใส่ข้อมูลตามนี้
ID PRDNAME SIZE PRICE SaleQTY
0005 PRD1 A 450 1
0005 PRD1 B 0 1
0005 PRD1 C 0 2
0005 PRD1 D 0 2
3. เนื่องจาก 1 ชุดกระจายเป็นหลาย record เวลาต้องการดูราคา ต้อง Group By ID และ Sum(Price) ด้วย
4. เมื่อต้องการตัด Stock สามารถใช้ stockqty - saleqty ได้ตามเดิม
วิธีอื่น เช่น แยก Table เป็น 2 Table
1) เก็บ ID, Price
2) เก็บ ID, PRDName, Size, SaleQty
Time: 0.3005s