Gilt für
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie verfügen über einen Computer, auf dem Microsoft SQL Server 2012 installiert ist.

  • Sie verfügen über eine Abfrage, die eine Case -Anweisung in einer Select -Anweisung und eine Case -Anweisung in einer Group by -Anweisung enthält.

  • Die beiden Case -Anweisungen werden auf NULL ausgewertet.

  • Führen Sie die Abfrage aus.

In diesem Szenario wird die folgende Fehlermeldung angezeigt:

Msg 8120, Ebene 16, Zustand 1, Zeile 3Column ' <Spaltenname> ' ist in der Auswahlliste ungültig, da Sie weder in einer Aggregatfunktion noch in der Group By-Klausel enthalten ist.

Führen Sie beispielsweise die folgende Abfrage aus: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 In der Abfrage wird die Anweisung "Wenn 1 = 2 dann T1. Col1 else 10" zu 10 ausgewertet. Wenn Sie "10" durch Verwendung von NULL ersetzen, tritt dieses Problem auf.HinweisDieses Problem tritt nicht auf, wenn Sie eine der Case -Anweisungen aus der Select -Anweisung oder aus der Group by -Anweisung entfernen.

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.