KB2873474 - CORREÇÃO: Erro "Coluna 'nome> da< coluna' é inválida na lista selecionar porque não está contida em uma função de agregação ou a cláusula GROUP BY" quando você executa uma consulta no SQL Server 2012

Aplica-se A
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Sintomas

Tenha em conta o seguinte cenário:

  • Tem um computador com o Microsoft SQL Server 2012 instalado.
  • Tem uma consulta que contém uma instrução CASE numa instrução SELECT e uma instrução CASE numa instrução GROUP BY.
  • As duas instruções CASE são avaliadas como NULL.
  • Executa a consulta.

Nesse cenário, você recebe a seguinte mensagem de erro:

Nota

Msg 8120, Nível 16, Estado 1, Linha 3

A coluna '<nome> da coluna' não é válida na lista de seleção porque não está contida numa função de agregação nem na cláusula GROUP BY.

Por exemplo, você executa a seguinte consulta:teste de criação de banco de dados
prosseguir
utilizar teste
prosseguir
create table tvt ( v1t binary(1) null)
Create Table TLN (LN Numeric(5) Not Null)
prosseguir
selecionar
caixa
quando 1=2 então t1.col1
else 10
fim,
caixa
quando t1.col1 = 2, então t1.col2
fim
de (
Selecione T2.v1t como COL1, 10 COMO COL2
desde tvt t2
) T1
Agrupar por
caixa
quando 1=2 então t1.col1
else 10
fim,
caixa
quando t1.col1 = 2, então t1.col2
fim
go Na consulta, a instrução "quando 1=2 então t1.col1 else 10" é avaliada como 10. Quando você substitui "10" usando NULL, esse problema ocorre.
Observação Esse problema não ocorre quando você remove qualquer uma das instruções CASE da instrução SELECT ou da instrução GROUP BY.

Resolução

Depois de aplicar a correção, terá de ativar um sinalizador de rastreio para que a correção funcione. Contacte o suporte da Microsoft quando precisar de aplicar esta correção.

O problema foi corrigido na atualização cumulativa seguinte do SQL Server.

Atualização Cumulativa 6 para SQL Server 2012 SP1 /en-us/help/2874879

Acerca das atualizações cumulativas para SQL Server

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

      

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".