Simptomi
Razmotrite sljedeći scenarij:
-
Imate računalo na kojem je instaliran Microsoft SQL Server 2012.
-
Imate upit koji sadrži izjavu o slučaju u izjavi Select i izjava o slučaju u grupi prema izjavi.
-
Dva izvješća o slučaju računaju na null.
-
Pokrenete upit.
U ovom scenariju prikazat će se sljedeća poruka o pogrešci:
MSG 8120, razina 16, State 1, redak 3Column ' <naziv stupca> ' nije valjan na popisu Odabir jer nije sadržan u funkciji zbrajanja ili u UVJETU Group by.
Možete, primjerice, pokrenuti sljedeć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 1 = 2 onda T1.1 drugi 10" procjenjuje se na 10. Kada zamijenite "10" pomoću vrijednosti NULL, taj se problem pojavljuje.NapomenaTaj se problem ne pojavljuje kada uklonite bilo koju od izjava slučaja iz naredbe Select ili iz grupe po izjavi.
Rješenje
Kada primijenite popravak, morate omogućiti praćenje zastavice da bi hitni popravak funkcionisali. Obratite se Microsoftovoj podršci kada morate primijeniti ovaj popravak.
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
Kumulativno ažuriranje 6 za SQL Server 2012 SP1 /en-us/help/2874879
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".