KB2873474 - FIX: Errore "La colonna '<nome> colonna' non è valida nell'elenco di selezione perché non è contenuta in una funzione di aggregazione o nella clausola GROUP BY" quando si esegue una query in SQL Server 2012

Si applica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Sintomi

Si consideri lo scenario seguente:

  • In un computer è installato Microsoft SQL Server 2012.
  • Si dispone di una query che contiene un'istruzione CASE in un'istruzione SELECT e un'istruzione CASE in un'istruzione GROUP BY.
  • Le due istruzioni CASE restituiscono NULL.
  • Si esegue la query.

In questo caso, viene visualizzato il seguente messaggio di errore:

Nota

Messaggio 8120, livello 16, stato 1, riga 3

La colonna 'column name><' non è valida nell'elenco di selezione perché non è contenuta in una funzione di aggregazione o nella clausola GROUP BY.

Ad esempio, si esegue il seguente query:create database test
andare
Test d'uso
andare
create table tvt ( v1t binary(1) null)
Create table TLN (ln numeric(5) not null)
andare
selezionare
Cassa
quando 1=2 allora t1.col1
altrimenti 10
fine,
Cassa
Quando T1.Col1 = 2 poi T1.COL2
fine
da (
Seleziona T2.V1T come Col1, 10 come Col2
Da TVT T2
) t1
raggruppa per
Cassa
quando 1=2 allora t1.col1
altrimenti 10
fine,
Cassa
Quando T1.Col1 = 2 poi T1.COL2
fine
Go Nella query, l'istruzione "when 1=2 then t1.col1 else 10" restituisce 10. Quando si sostituisce "10" usando NULL, si verifica questo problema.
Nota: questo problema non si verifica quando si rimuove una delle istruzioni CASE dall'istruzione SELECT o dall'istruzione GROUP BY.

Risoluzione

Dopo aver applicato la correzione, è necessario abilitare un flag di traccia per far funzionare l'hotfix. Contattare il supporto tecnico Microsoft quando è necessario applicare questa correzione.

Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server.

Aggiornamento cumulativo 6 per SQL Server 2012 SP1 /it-IT/help/2874879

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

      

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".