Accedi a Microsoft
Accedi o crea un account.
Salve,
Select a different account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Considerare lo scenario descritto di seguito:

  • Si dispone di un computer in cui è 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 scenario viene visualizzato il messaggio di errore seguente:

Msg 8120, livello 16, stato 1, riga 3Column ' <nome colonna>' non è valido nell'elenco di selezione perché non è contenuto in una funzione di aggregazione o nella clausola Group by.

Ad esempio, eseguire la query seguente: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 Nella query l'istruzione "When 1 = 2 Then T1. Col1 else 10" restituisce 10. Quando sostituisci "10" usando NULL, questo problema si verifica.Nota Questo problema non si verifica quando si rimuove una delle istruzioni case dall'istruzione Select o dall'istruzione Group by .

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×