我必須在SQL中執行請求。我有論文表CASE加入SQL Server
我願意做這個請求,但請求從來沒有給我的結果:
Select CDR.*,
p1.*
From dbo.T_CDR_APPEL CDR
Inner Join dbo.POS As p1 On Case
When CDR.CDR_LOC_CODE Like 'CH%' And CDR.CDR_TYPE Like 'I%' And
CDR.CDR_LOC_CODE = p1.Loc_Code Then 1
When CDR.CDR_LOC_CODE Like 'CCN%' And CDR.CDR_TYPE Like 'I' And
CDR.CDR_LAST_REDIR_NO = p1.Post_type Then 1 Else 0 End = 1
我也試過
Select CDR.*,
p1.*
From dbo.T_CDR_APPEL CDR
Inner Join dbo.POS As p1 On CDR.CDR_LOC_CODE = p1.Loc_Code
Where CDR.CDR_LOC_CODE Like 'CH%' And CDR.CDR_TYPE Like 'I%'
Union All
Select CDR.*,
p1.*
From dbo.T_CDR_APPEL CDR
Inner Join dbo.POS As p1 On CDR.CDR_LAST_REDIR_NO = p1.Post_type
Where CDR.CDR_LOC_CODE Like 'CCN%' And CDR.CDR_TYPE Like 'I'
但相同的結果,該請求似乎正在工作,但不成功。
感謝您的幫助!
更新:它現在與聯盟工作! Thnak爲您提供幫助!
當你可以用簡單的'AND' /'OR'來做同樣的事情時,你不應該使用'CASE'。但是,要找出您的情況失敗的地方,請一步一步來。例如:'從dbo.t_cdr_appel中選擇cdr_loc_code如'CH%'和cdr_type'I%''並查看是否有任何記錄。如果是這樣,你會得到什麼CDR_LOC_CODE?它們存在於dbo.POS中嗎? –
CDR_LOC_CODE存在於dbo.POS中! – Alexandre
所以我的查詢返回記錄?並且它返回與Pos.Loc_Code相匹配的CDR_LOC_CODE?那很奇怪你的查詢沒有得到那些匹配。那時必須是一個錯字。 –