Simptomi
Razmotrite sledeći scenario:
-
Imate instaliran računar na kojem je instaliran Microsoft SQL Server 2012.
-
U izvodu SELECT imate upit koji sadrži izvod GROUP BYPREDMETA i izvod PREDMETA.
-
Ova dva saopštenja slučaja procenjuju na VREDNOST NULL.
-
Vi pokrenete upit.
U ovom scenariju dobijate sledeću poruku o grešci:
Msg 8120, Nivo 16, Država 1, Linija 3Column "<ime kolone>" je nevažeća na listi izbora jer nije sadržana ni u agregatnoj funkciji ni u odredbi GROUP BY.
Na primer, pokrenete sledeći upit: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 U upitu, izjava "kada je 1=2 onda t1.col1 else 10" procenjuje na 10. Kada zamenite "10" korišćenjem funkcije NULL, do ovog problema dolazi.Napomena Do ovog problema ne dolazi kada uklonite nijednu od izvoda predmeta iz saopštenja SELECT ili iz saopštenja GROUP BY.
Rešenje
Kada primenite ispravku, morate da omogućite zastavicu za praćenje da bi hitna ispravka uspela. Obratite se Microsoft podršci kada je potrebno da primenite ovu ispravku.
Problem je prvi put otklonjen u sledećoj kumulativnoj ispravki sistema SQL Server.
Kumulativna ispravka 6 za SQL Server 2012 SP1 /en-us/help/2874879
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".