KB2873474 – OPRAVA: Při spuštění dotazu v SQL Server 2012 došlo k chybě "Název sloupce<> je ve výběrovém seznamu neplatný, protože není obsažen v agregační funkci ani v klauzuli GROUP BY"

Platí pro
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Příznaky

Vezměte v úvahu následující scénář:

  • Máte počítač s nainstalovaným systémem Microsoft SQL Server 2012.
  • Máte dotaz, který obsahuje příkaz CASE v příkazu SELECT a příkaz CASE v příkazu GROUP BY.
  • Výsledkem dvou příkazů CASE je hodnota NULL.
  • Spustíte dotaz.

V tomto scénáři se zobrazí následující chybová zpráva:

Poznámka

Zpráva 8120, úroveň 16, stav 1, řádek 3

Sloupec "<název >sloupce" je ve výběrovém seznamu neplatný, protože není obsažen v agregační funkci ani v klauzuli GROUP BY.

Spustíte například následující dotaz:test vytvoření databáze
přejít
použít test
přejít
Vytvoření tabulky TVT ( v1t binary(1) null)
Vytvoření tabulky TLN (ln numeric(5) not null)
přejít
vybrat
pouzdro
když 1 = 2, pak t1.col1
jinak 10
end,
pouzdro
když t1.col1 = 2, pak t1.col2
konec
z (
select t2.v1t as col1, 10 as col2
Z TVT T2
) T1
Seskupit podle
pouzdro
když 1 = 2, pak t1.col1
jinak 10
end,
pouzdro
když t1.col1 = 2, pak t1.col2
konec
go V dotazu je příkaz "když 1=2, pak t1.col1 jinak 10" vyhodnocen jako 10. K tomuto problému dojde, když nahradíte "10" pomocí hodnoty NULL.
Poznámka: K tomuto problému nedochází, pokud odeberete některý z příkazů CASE z příkazu SELECT nebo z příkazu GROUP BY.

Řešení

Po instalaci opravy musíte povolit příznak trasování, aby oprava hotfix fungovala. Pokud potřebujete tuto opravu použít, kontaktujte podporu Microsoftu.

Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.

Kumulativní aktualizace 6 pro SQL Server 2012 SP1 /en-cz/help/2874879

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

      

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.