我試圖運行下面的查詢:在計算列爲什麼不能用一個case語句中的子查詢
create table MyTable (
TableIndex bigint primary key identity(1,1) not null,
ForeignKey1 int not null,
ForeignKey2 char(16) not null,
fldSomeNumber float(24),
fldScore as cast(case
when fldSomeNumber is null or fldCSIPercentage=0 then 0
when fldSomeNumber <= 0.09 then (select fldTenthScore from tblScores where ScorePrimaryKey=MyTable.ForeignKey2)
when fldSomeNumber <= 0.9 then (select fld1Score from tblScores where ScorePrimaryKey=MyTable.ForeignKey2)
...
else 100 end as float(24))
);
但我不斷收到以下錯誤:「子查詢不允許在這種情況下,只允許標量表達式。「是否不可能將子選擇放入像這樣的計算列中?
我運行的SQL Server Express 2016
它的意思是不具有指定的數據類型計算列。 – mallan1121