تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

مؤشرات الخطأ

اطّلع على السيناريو التالي:

  • لديك كمبيوتر تم تثبيت Microsoft SQL Server 2012 عليه.

  • لديك استعلام يحتوي علي جمله case في جمله SELECT وجمله case في جمله GROUP BY .

  • يتم تقييم العبارتين CASE إلى قيمه خاليه.

  • تقوم بتشغيل الاستعلام.

في هذا السيناريو ، تتلقي رسالة الخطا التالية:

الرسالة 8120 ، المستوي 16 ، الحالة 1 ، السطر 3 العمود ' <اسم العمود> ' غير صالح في قائمه select لأنه غير مضمن في الدالة aggregate أو جمله 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) else 10» إلى 10. عند استبدال "10" باستخدام NULL ، تحدث هذه المشكلة.ملاحظه لا تحدث هذه المشكلة عند أزاله اي من عبارات CASE من جمله select أو من جمله GROUP BY .

يحتوي كل تحديث تراكمي جديد ل SQL Server علي كل الإصلاحات العاجلة وكل تصحيحات الأمان التي تم تضمينها في التحديث التراكمي السابق. اطلع علي آخر التحديثات التراكمية ل SQL Server:

الحالة

أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×