กระทู้เก่าบอร์ด อ.Yeadram
        
           1,508   7		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        การอัพเดท 2 table      
    
      ตัวอย่างโค๊ดนะคับ
UPDATE tbl_a INNER JOIN tbl_b
ON tbl_a.p_id = tbl_b.p_id
SET tbl_b.p_price = tbl_a.p_price
เมื่อผมใส่ค่าที่จะ set ต่ออีกคือ ,tbl_b.p_qty = tbl_a.p_qty,tbl_b.p_total = (tbl_b.p_price*tbl_a.p_qty)
แบบนี้คับ แต่ผลรันออกมาคือ มันจะอัพเดท price และ qty ใน tbl b
แต่ไม่คำนวณตรง tbl_b.p_total = (tbl_b.p_price*tbl_a.p_qty) ต่อเลยคับ
จะอัพเดทต่อไป เมื่อรันอีกครั้ง คับ พูด่ายๆคือต้องรัน 2 ครั้งถึงจะอัพให้ทุกตัวคับ
อยากรันครั้งเดียวเลยคับ มีวิธีไหมคับ ขอบคุณคับ
    
  UPDATE tbl_a INNER JOIN tbl_b
ON tbl_a.p_id = tbl_b.p_id
SET tbl_b.p_price = tbl_a.p_price
เมื่อผมใส่ค่าที่จะ set ต่ออีกคือ ,tbl_b.p_qty = tbl_a.p_qty,tbl_b.p_total = (tbl_b.p_price*tbl_a.p_qty)
แบบนี้คับ แต่ผลรันออกมาคือ มันจะอัพเดท price และ qty ใน tbl b
แต่ไม่คำนวณตรง tbl_b.p_total = (tbl_b.p_price*tbl_a.p_qty) ต่อเลยคับ
จะอัพเดทต่อไป เมื่อรันอีกครั้ง คับ พูด่ายๆคือต้องรัน 2 ครั้งถึงจะอัพให้ทุกตัวคับ
อยากรันครั้งเดียวเลยคับ มีวิธีไหมคับ ขอบคุณคับ
				7 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    1 @R03307    
        
  
      tbl_b.p_total = (tbl_a.p_price * tbl_a.p_qty)    
    
  
        
    2 @R03310    
        
  
      มันคืออะไรเหรอคับ ..?    
    
  
        
    3 @R03311    
        
  
      อ๋อ ขอโทษด้วยคับ ผมเขียนผิด จิงๆแล้วคือ
tbl_b.p_total = (tbl_b.p_price*tbl_b.p_qty)
เปนแบบนี้คับ
    
  tbl_b.p_total = (tbl_b.p_price*tbl_b.p_qty)
เปนแบบนี้คับ
        
    4 @R03312    
        
  
      UPDATE tbl_a INNER JOIN tbl_b 
ON tbl_a.p_id = tbl_b.p_id
SET
tbl_b.p_price = tbl_a.p_price,
tbl_b.p_qty = tbl_a.p_qty,
tbl_b.p_total = (tbl_a.p_price*tbl_a.p_qty);
b = a
b = a
b = a * a
       
    
  ON tbl_a.p_id = tbl_b.p_id
SET
tbl_b.p_price = tbl_a.p_price,
tbl_b.p_qty = tbl_a.p_qty,
tbl_b.p_total = (tbl_a.p_price*tbl_a.p_qty);
b = a
b = a
b = a * a
        
    5 @R03313    
        
  
      มันทำครั้งเดียวจบเลยหรือป่าวคับ หรือว่าจะทำให้ทีละคำสั่งคับ เพราะผมเจอปัญหาที่ว่า จะทำทีละคำสั่ง ไม่ได้รันทีเดียว จบเลย
และก้อถ้า tbla ไม่มี ฟิวด์ qty แล้วผมใช้ tbl_b.p_price*tbl_b.p_qty ผลลัพธ์ที่ได้จะเหมือนกันไหมคับ
    
  และก้อถ้า tbla ไม่มี ฟิวด์ qty แล้วผมใช้ tbl_b.p_price*tbl_b.p_qty ผลลัพธ์ที่ได้จะเหมือนกันไหมคับ
        
    6 @R03314    
        
  
      tbl_b.p_price  มันยังไม่มีค่า หรือ ยังเป็นค่าเก่าอยู่ อย่าใช้มัน ผลลัพภ์  อาจจะ ไม่เหมือนกัน  และถ้า มันยังไม่มีค่า มันก็ไม่สามารถทำงานให้จบในครั้งเดียวได้
ใช้ a ครับ
tbl_b.p_total = (tbl_a.p_price*tbl_b.p_qty);
-----------------------------------------------
"ถ้า a ไม่มี qty" แล้วในตัวอย่าง จากคำถามของคุณ ไปเอาค่ามาจากไหนล่ะครับ
เห็นสั่ง เซ็ทค่า b.qty = a.qty
ยังไงล่ะเนี่ย
ถ้า ตัวตั้งยังไม่มี หรือยังไม่พร้อม
ถ้า ตัวคูณ ยังไม่มี หรือยังไม่พร้อม
การคูณ ก็เกิดขึ้นไม่ได้ นั่นหรือเปล่าคือสาเหตุที่ให้มันต้องรันสองครั้ง
ทบทวนใหม่ครับ!
-----------------------------------------------
    
  ใช้ a ครับ
tbl_b.p_total = (tbl_a.p_price*tbl_b.p_qty);
-----------------------------------------------
"ถ้า a ไม่มี qty" แล้วในตัวอย่าง จากคำถามของคุณ ไปเอาค่ามาจากไหนล่ะครับ
เห็นสั่ง เซ็ทค่า b.qty = a.qty
ยังไงล่ะเนี่ย
ถ้า ตัวตั้งยังไม่มี หรือยังไม่พร้อม
ถ้า ตัวคูณ ยังไม่มี หรือยังไม่พร้อม
การคูณ ก็เกิดขึ้นไม่ได้ นั่นหรือเปล่าคือสาเหตุที่ให้มันต้องรันสองครั้ง
ทบทวนใหม่ครับ!
-----------------------------------------------
        
    7 @R03315    
        
    
      ขอบคุณมากคับ ได้แล้วคับ ขอบคุณอาจารย์มากเลยคับ
บอร์ดนี้มีประโยชน์มากมายเลยคับ
    
  บอร์ดนี้มีประโยชน์มากมายเลยคับ
      Time: 0.0737s
    
      
		