Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

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".

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×