กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
494 1
URL.หัวข้อ /
URL
Access นำข้อมูลจาก table A update และ Add ลงไป table B เขียนคำสั่ง sql อย่างไรครับ
มีคนถามคำถามนี้ไว้ที่
http://pantip.inet.co.th/tech/software/topic/SP874947.html
ดังนี้
Access นำข้อมูลจาก table A update และ Add ลงไป table B เขียนคำสั่ง sql อย่างไรครับขอบคุณมากๆ
พอดีเพิ่งหัดได้นิดหน่อย แล้วตอนนี้ไม่มีหนังสือติดตัวมาเลย มาช่วยงานที่หนึ่งงานด่วนมากๆครับ
คิดว่าจำเป็นต้องใช้ access update ข้อมูล อย่างไรช่วยแนะนำหน่อยครับ
สมมุติ
table A มี 3 record คือ ID cost และ data
table B มี 2 record คือ ID กับ cost
แต่ table B จะมีการแก้ไขค่า ใน cost และมี เพิ่มข้อมูล record ใหม่อยู่เรื่อย
ผมต้องการนำข้อมูลจาก table B (cost) update และ Add ลงไป table A (cost)
โดยมีเงือนไข ว่า หาก id ตรงกันที่มีแล้ว ให้ update cost ใน table A หาก ไม่มี id ที่ตรงกัน ให้ add เพิ่มลงไป ทั้ง ID และ cost
ส่วน ข้อมูลในช่อง data ให้ใส่ค่าเท่ากับ 0
ขอบคุณมากๆ สำหรับคำแนะนำ
จากคุณ : -=Boss=- (-=Boss=-) [22 ก.พ. 2545 - 10:41:37]
ผมได้ตอบไปดังนี้
ก็เพียงแต่ใช้ Append Query และ Update Query ก็น่าจะใช้ได้แล้ว
โดยในการ Append ก็ใช้ Not In เข้ามาช่วยดังนี้
1. การ Update ข้อมูลใน tblA โดยใช้ข้อมูลจาก tblB จะมี SQL ดังนี้
UPDATE tblA INNER JOIN tblB ON tblA.ID = tblB.ID SET tblA.Cost = [tblb].[Cost]
WHERE (((tblA.ID)=[tblB].[ID]));
โดยทั้ง 2 ตารางจะเชื่อมกันด้วย ID แบบ One-To-One
2. การ Append ข้อมูลจาก tblB ไปยัง tblA จะมี SQL ดังนี้
INSERT INTO tblA ( ID, Cost, Data )
SELECT tblB.ID, tblB.Cost, 0 AS Expr1
FROM tblB
WHERE (((tblB.ID) Not In (SELECT DISTINCT tblA.ID
FROM tblA;)));
ตัวอย่างจริงอยู่ที่
http://agserver.kku.ac.th/basiceng/bossupdatequery.zip
Cheers!!! *** Edited by Supap Chaiya *** 5/15/2003 2:22:08 PM
http://pantip.inet.co.th/tech/software/topic/SP874947.html
ดังนี้
Access นำข้อมูลจาก table A update และ Add ลงไป table B เขียนคำสั่ง sql อย่างไรครับขอบคุณมากๆ
พอดีเพิ่งหัดได้นิดหน่อย แล้วตอนนี้ไม่มีหนังสือติดตัวมาเลย มาช่วยงานที่หนึ่งงานด่วนมากๆครับ
คิดว่าจำเป็นต้องใช้ access update ข้อมูล อย่างไรช่วยแนะนำหน่อยครับ
สมมุติ
table A มี 3 record คือ ID cost และ data
table B มี 2 record คือ ID กับ cost
แต่ table B จะมีการแก้ไขค่า ใน cost และมี เพิ่มข้อมูล record ใหม่อยู่เรื่อย
ผมต้องการนำข้อมูลจาก table B (cost) update และ Add ลงไป table A (cost)
โดยมีเงือนไข ว่า หาก id ตรงกันที่มีแล้ว ให้ update cost ใน table A หาก ไม่มี id ที่ตรงกัน ให้ add เพิ่มลงไป ทั้ง ID และ cost
ส่วน ข้อมูลในช่อง data ให้ใส่ค่าเท่ากับ 0
ขอบคุณมากๆ สำหรับคำแนะนำ
จากคุณ : -=Boss=- (-=Boss=-) [22 ก.พ. 2545 - 10:41:37]
ผมได้ตอบไปดังนี้
ก็เพียงแต่ใช้ Append Query และ Update Query ก็น่าจะใช้ได้แล้ว
โดยในการ Append ก็ใช้ Not In เข้ามาช่วยดังนี้
1. การ Update ข้อมูลใน tblA โดยใช้ข้อมูลจาก tblB จะมี SQL ดังนี้
UPDATE tblA INNER JOIN tblB ON tblA.ID = tblB.ID SET tblA.Cost = [tblb].[Cost]
WHERE (((tblA.ID)=[tblB].[ID]));
โดยทั้ง 2 ตารางจะเชื่อมกันด้วย ID แบบ One-To-One
2. การ Append ข้อมูลจาก tblB ไปยัง tblA จะมี SQL ดังนี้
INSERT INTO tblA ( ID, Cost, Data )
SELECT tblB.ID, tblB.Cost, 0 AS Expr1
FROM tblB
WHERE (((tblB.ID) Not In (SELECT DISTINCT tblA.ID
FROM tblA;)));
ตัวอย่างจริงอยู่ที่
http://agserver.kku.ac.th/basiceng/bossupdatequery.zip
Cheers!!! *** Edited by Supap Chaiya *** 5/15/2003 2:22:08 PM
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
Time: 0.1453s
http://pantip.inet.co.th/tech/software/topic/SP874947.html#4
และผมได้ปรับปรุงตัวอย่างเพิ่มเติมที่
http://agserver.kku.ac.th/basiceng/bossupdatequery2.zip *** Edited by Supap Chaiya *** 5/15/2003 2:19:12 PM