KB2873474 — Poprawka: błąd "kolumna" <nazwa kolumny> "jest nieprawidłowa na liście Wybierz, ponieważ nie jest ona zawarta w funkcji agregującej ani w klauzuli GROUP BY" podczas uruchamiania zapytania w programie SQL Server 2012

Symptomy

Rozpatrzmy następujący scenariusz:

  • Masz zainstalowany na komputerze program Microsoft SQL Server 2012.

  • Kwerenda zawierająca instrukcję Case w instrukcji SELECT i instrukcji Case w instrukcji Group by .

  • Wynikiem dwóch instrukcji Case jest wartość null.

  • Uruchomienie zapytania.

W tym scenariuszu jest wyświetlany następujący komunikat o błędzie:

Msg 8120, poziom 16, stan 1, 3Column wiersza "<Nazwa kolumny>" jest nieprawidłowa na liście Wybierz, ponieważ nie jest ona zawarta w funkcji agregującej ani w klauzuli Group by.

Na przykład uruchom następujące zapytanie: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 W kwerendzie instrukcja "gdy 1 = 2, a następnie T1. Kol1 else 10" daje w wyniku wartość 10. Po zamienieniu "10" przy użyciu wartości NULL ten problem występuje.UwagaTen problem nie występuje po usunięciu instrukcji Case z instrukcji SELECT lub instrukcji Group by .

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×