|
|
|
อยากรู้วิธี การ update ข้อมูลหลายๆ แถว แต่ id เดียวกัน ด้วยครับ |
|
|
|
|
|
|
|
ดูจาก ข้อมูลใน table แล้ว where โดยใช้ stockDetail_id ก็ได้แล้วครับ
ได้แบบนี้ update table_name set qty = 1 where stockDetail_id = 331
|
|
|
|
|
Date :
2013-02-11 10:39:06 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประมาณนี้รึป่าวคับ
Code (SQL)
update Table_name set QtyOrder = QtyOrder - จำนวน where Po_id = 667
|
|
|
|
|
Date :
2013-02-11 11:26:26 |
By :
poomberry |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้ครับ มันจะ update ทั้ง หมด PID
|
|
|
|
|
Date :
2013-02-11 14:24:37 |
By :
zeedza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็นแบบนี้จะไปเบิกออกมาได้ไงละครับให้มันตัด เว้นเสียแต่ไปสร้างตารางขึ้นมาอีก 1 ตาราง สำหรับเก็บข้อมูลแบบรวมเอาไว้สำหรับตัด Stock ส่วนตารางนี้ คุณก็ใช้สำหรับเก็บข้อมูลรายการสินค้าเข้าไปเลย หรือไม่คุณก็อาจจะต้องไปเพิ่มฟิลด์ขึ้นมาอีกฟิลด์สำหรับเก็บค่าผลรวมล่าสุดของ Stock แล้วค่อยคิดหาวิธีตัด Stock ต่อไป ^_^
|
|
|
|
|
Date :
2013-02-12 08:05:26 |
By :
jarun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่วนนี้น่าจะเป็นตารางประมาณ log มากกว่าครับ และมีตารางเกี่ยวกับ แต่ละชิ้นตอนนี้เหลือเท่าไหร่น่าจะ OK กว่าครับ
ลองคิดให้เหมือน computer อะครับ ว่าเราจะคิดอย่างไงถ้าเราเป็น com
ถ้าจะดันทำต่อ ก็เช็คเอาครับ เช่น
เช็คทีละตัว แล้วก็ลบไปทีละตัวครับ
เช่นเบอร์ 4 ตัว ถ้าเช็คจาก ล่างขึ้นบน ก็
ขั้นแรก เช็คตัวสุดท้ายมีค่า เท่ากับเท่าไหร่ ถ้าในนั้นมีค่าน้อยกว่าก็อัพเดท = 0 ไป แล้วก็หักลบกับค่าที่เราเบิก สมมุติในนี้ 4 -3 =1
ก็เอาไปเช็คกับตัวอื่น ๆ เช่นตัวรองสุดท้าย ก็ 2 -1 =1 ก็อัพเดทเป็น 1 ไปครับ
|
|
|
|
|
Date :
2013-02-12 10:42:54 |
By :
zero1150kfc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าแบบนี้น่าจะลองออกแบบตารางใหม่ดีกว่า
ถ้าไปต่อคาดว่าจะลำบากในการใช้คำสั่ง SQL เป็นอย่างมาก
เช่น
ตาราง Stock ประกอบด้วย รหัสสินค้า, จำนวนสินค้าทั้งหมด, จำนวนสินค้าขั้นต่ำ
ตาราง StockDetails ประกอบด้วย รหัสลำดับที่, รหัสสินค้า, วันที่รับสินค้า, จำนวนนำเข้า
ตาราง Order ประกอบด้วย รหัสสั่งซื้อ, วันที่สั่งซื้อ, จำนวนรายการสินค้า, ยอดสั่งซื้อทั้งหมด, สถานะการสั่งซื้อ, ส่วนลด, ภาษี
ตาราง OrderDetails ประกอบด้วย รหัสรายการสั่งซื้อ, รหัสสั่งซื้อ, รหัสสินค้า, ชื่อสินค้า, จำนวนสั่งซื้อ, ราคาต่อหน่วย, ราคาขาย
เวลานับจำนวนสินค้าทั้งหมด
UPDATE Stock
SET Totals=(select SUM(จำนวนนำเข้า) from stStockDetails where รหัสสินค้า=1)
WHERE รหัสสินค้า=1
เวลาตัดสต๊อก
Update Stock Set จำนวนสินค้าทั้งหมด=(จำนวนสินค้าทั้งหมด-OrderDetails.จำนวนสั่งซื้อ)
Where Stock.รหัสสินค้า
น่าจะพอได้ไอเดียนะครับ
|
|
|
|
|
Date :
2013-02-12 11:31:01 |
By :
Bon Joey |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบพระคุณครับ
|
|
|
|
|
Date :
2013-02-15 10:04:27 |
By :
zeedza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|