KB2873474 – ПОПРАВКА: Грешка "Колоната "<име> на колона" е невалидна в списъка за избиране, тъй като не се съдържа нито в агрегатна функция, нито в клаузата GROUP BY" при изпълнение на заявка в SQL Server 2012

Отнася се за
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Симптоми

Имайте предвид сценария, описан по-долу:

  • Имате компютър, на който е инсталиран Microsoft SQL Server 2012.
  • Имате заявка, която съдържа команда CASE в команда SELECT и команда CASE в команда GROUP BY.
  • Двете команди CASE са оценени като NULL.
  • Вие изпълнявате заявката.

В този случай получавате следното съобщение за грешка:

Забележка

Съобщение 8120, ниво 16, щат 1, ред 3

Колоната "<име >на колона" е невалидна в списъка за избиране, тъй като не се съдържа нито в агрегатна функция, нито в клаузата GROUP BY.

Например изпълнявате следната заявка:Create database test
отидете
Използване на тест
отидете
create table tvt ( v1t binary(1) null)
Създаване на таблица TLN (Ln, цифра(5) Not Null)
отидете
избор
case
Когато 1=2, тогава t1.col1
else 10
Край,
case
Когато t1.col1 = 2, тогава t1.col2
край
от (
Изберете T2.V1T като COL1, 10 като COL2
От TVT T2
) t1
Групиране по
case
Когато 1=2, тогава t1.col1
else 10
Край,
case
Когато t1.col1 = 2, тогава t1.col2
край
go В заявката командата "when 1=2 then t1.col1 otherwise 10" дава за резултат 10. Този проблем възниква, когато заместите "10" с NULL.
Забележка Този проблем не възниква, когато премахнете някоя от командите CASE от командата SELECT или от командата GROUP BY.

Решение

След като приложите корекцията, трябва да разрешите флаг за проследяване, за да накарате горещата корекция да работи. Свържете се с поддръжката от Microsoft, когато трябва да приложите тази корекция.

Проблемът е коригиран за първи път в следващата кумулативна актуализация на SQL Server.

Сборна актуализация 6 за SQL Server 2012 SP1 /en-us/help/2874879

За кумулативните актуализации за SQL Server

Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:

      

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.