นำไปใช้กับ
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

อาการ

พิจารณาสถานการณ์ต่อไปนี้:

  • คุณมีคอมพิวเตอร์ที่มี Microsoft SQL Server ๒๐๑๒ติดตั้งอยู่

  • คุณมีคิวรีที่ประกอบด้วยคำสั่งcaseในคำสั่งselectและคำสั่งCASEในคำสั่งGROUP BY

  • คำสั่งสอง กรณี ที่ประเมินเป็น NULL

  • คุณเรียกใช้คิวรี

ในสถานการณ์สมมตินี้คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

Msg ๘๑๒๐ระดับ16สถานะ1บรรทัด 3Column ' <ชื่อคอลัมน์> ' ไม่ถูกต้องในรายการที่เลือกเนื่องจากไม่มีอยู่ในฟังก์ชันการรวมหรือส่วนคำสั่ง GROUP by

ตัวอย่างเช่นคุณเรียกใช้แบบสอบถามต่อไปนี้:create database testgouse testgocreate table tvt ( v1t binary(1) null)create table tln (ln numeric(5) not null)goselectcase when 1=2 then t1.col1else 10end,casewhen t1.col1 = 2 then t1.col2endfrom (select t2.v1t as col1, 10 as col2 from tvt t2) t1group by case when 1=2 then t1.col1else 10end,casewhen t1.col1 = 2 then t1.col2endgo ในคิวรีคำสั่ง "เมื่อ 1 = 2 แล้ว t1 col1 10" ประเมินเป็น10 เมื่อคุณแทนที่ "10" โดยใช้ค่า NULL ปัญหานี้เกิดขึ้นบันทึกย่อ ปัญหานี้เกิดขึ้นเมื่อคุณเอาคำสั่งกรณีออกจากคำสั่งselectหรือจากคำสั่งGROUP BY

การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:

สถานะ

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ