Simptomai

Apsvarstykite šį scenarijų:

  • Turite kompiuterį, kuriame yra įdiegta "Microsoft SQL Server" 2012.

  • Turite užklausą, kurioje yra atvejo sakinys sakinyje Select ir Case Statement grupėje pagal sakinį.

  • Du atvejo pareiškimai vertinami kaip NULL.

  • Vykdote užklausą.

Tokiu atveju gaunate šį klaidos pranešimą:

MSG 8120, lygis 16, būsenos 1, eilutės 3Column "<stulpelio pavadinimas>" yra neleistinas sąraše pasirinkite, nes nėra agregavimo funkcijos arba sąlyga Group by.

Pvz., vykdote šią užklausą: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žklausoje, sakinys "when 1 = 2, tada T1. Stulp1 esanti reikšmė else 10" įvertina iki 10. Kai "10" pakeisite naudodami NULL, ši problema iškyla.Pastaba. Ši problema nekyla, kai pašalinate vieną iš bylos pareiškimų sakinyje Select arba iš grupės pagal sakinį.

Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:

Statusą

"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Ar esate patenkinti vertimo kokybe?
Kas turėjo įtakos jūsų patirčiai?

Dėkojame už jūsų atsiliepimus!

×