1
我希望您能夠幫助相當新的SQL Server,請耐心等待。我試圖從CASE語句中設置一個變量,但碰到了mulit-identifier錯誤。該代碼試圖根據兩個日期字段的日期範圍內的日期變量將值解析爲變量。多部分標識符「」無法綁定
use KSSDB
declare @DateFrom as datetime,
@DateTo as datetime,
@ResInt as int,
@ProgID as int,
@PERSID as int
set @DateFrom = '2010/11/01'
set @DateTo = '2013/11/01'
set @ProgID = 63
set @PERSID = 4492
--select PT.PROG_ID,
-- PT.PERS_ID,
-- P.PROG_NAME,
-- format(PT.PROG_TRAI_SD, 'dd/MM/yyyy') as PROG_TRAI_SD,
-- format(PT.PROG_TRAI_ED, 'dd/MM/yyyy')as PROG_TRAI_ED,
set @resint = CASE when (@DateFrom > PT.PROG_TRAI_SD and @dateto < PT.PROG_TRAI_ED) then 1
when (@datefrom > PT.PROG_TRAI_ED and @DateTo > PT.PROG_TRAI_ED) then 2
when (@datefrom < PT.PROG_TRAI_SD and @DateTo > PT.PROG_TRAI_ED) then 3
else 0
end
select @ResInt
from PROG p
JOIN PROG_TRAI PT ON P.PROG_ID = PT.PROG_ID
where PT.PROG_ID = @ProgID and
PT.PERS_ID = @PERSID
完美感謝這麼多的快速反應遺憾是這樣一個白癡 – JulesII