KB2873474: error "Column" <nombre de columna> ' no es válido en la lista de selección porque no está incluida en una función de agregado o en la cláusula GROUP BY "cuando ejecuta una consulta en SQL Server 2012

Síntomas

Imagine la siguiente situación:

  • Tiene un equipo con Microsoft SQL Server 2012 instalado.

  • Tiene una consulta que contiene una instrucción Case en una instrucción Select y una instrucción Case en una instrucción Group by .

  • Las dos instrucciones Case se evalúan como null.

  • Ejecute la consulta.

En esta situación, aparece este mensaje de error:

Msj 8120, nivel 16, estado 1, línea 3Column ' <nombre de columna> ' no es válido en la lista de selección porque no está incluido en una función de agregado o en la cláusula Group by.

Por ejemplo, ejecute la consulta siguiente: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 En la consulta, la instrucción "When 1 = 2 then T1. col1 else 10" se evalúa como 10. Cuando reemplaza "10" con NULL, se produce este problema.Nota: Este problema no se produce al quitar cualquiera de las instrucciones Case de la instrucción Select o de la instrucción Group by .

Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×