การแก้ไข: ผลลัพธ์ไม่ถูกต้องเมื่อคุณเรียกใช้คำสั่งแทรกเลือก UNION ALL ใน SQL Server 2008

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2530921 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้

Microsoft กระจายการแก้ไขปัญหาของ Microsoft SQL Server 2008 Service Pack 1 เป็นแฟ้มหนึ่งแฟ้มที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม แต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมอยู่กับก่อนหน้านี้ SQL Server 2008 Service Pack 1 fix release
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

เมื่อคุณรันการ แทรกทั้งหมดเลือกสหภาพคำชี้แจงใน SQL Server 2008 ผลลัพธ์ของคำสั่งอาจไม่ถูกต้องถ้าตารางแหล่งที่มาของการเลือกส่วนคำสั่ง from ถูกใช้เป็นตารางเป้าหมายของการแทรก ส่วนคำสั่ง from

ตัวอย่างเช่น คุณเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างตารางที่สี่:
CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME)
คุณได้ใส่ค่าบางค่าลงในเครื่อง TabA, TabBและ TabD ตาราง แล้วคุณรันต่อไปนี้ แทรกทั้งหมดเลือกสหภาพ คำชี้แจง:

INSERT INTO [TabC] (P, M, A) SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALL SELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GO
ในสถานการณ์สมมตินี้ คุณได้รับผลลัพธ์ที่ไม่ถูกต้อง และบางระเบียนได้อย่างไม่ถูกต้องไม่ใส่เข้าไปในตัว TabC ตาราง

การแก้ไข

ปรับปรุงข้อมูล

Update SQL Server 2008 Service Pack 1 สะสม 14

โปรแกรมแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกในปรับปรุง 14 สำหรับ SQL Server 2008 Service Pack 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
2527187 แพคเกจโปรแกรมปรับปรุงที่สะสม 14 สำหรับ SQL Server 2008 Service Pack 1
หมายเหตุ เนื่องจาก builds เป็นแบบสะสม วางจำหน่ายของแต่ละโปรแกรมแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมอยู่กับ SQL Server 2008 ก่อนหน้า fix release Microsoft ขอแนะนำว่า คุณควรพิจารณาถึงการนำไปใช้แก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
970365 SQL Server 2008 สร้างที่เผยแพร่หลังจากการ SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 โปรแกรมแก้ไขด่วนถูกสร้างขึ้นสำหรับเฉพาะ SQL Server เซอร์วิสแพ็ค คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2008 Service Pack 1 การติดตั้งของ SQL Server 2008 Service Pack 1 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนที่ให้ไว้ใน service pack ของ SQL Server จะรวมอยู่ใน service pack ถัดไปของ SQL Server

สถานะ

Microsoft ยืนยันว่า ปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน"ใช้งาน"

คุณสมบัติ

หมายเลขบทความ (Article ID): 2530921 - รีวิวครั้งสุดท้าย: 16 พฤษภาคม 2554 - Revision: 1.0
ใช้กับ
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard Edition for Small Business
Keywords: 
kbqfe kbexpertiseadvanced kbsurveynew kbfix kbmt KB2530921 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2530921

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com