根据以前的IF()结果访问SQL IF()

时间:2014-04-10 14:34:07

标签: sql ms-access if-statement conditional-statements

所以我正在建立一个查询,很想知道我是否有一对IIF()语句

示例:

SELECT a.RecID, a.DTP_Date as '834Effective', b.[Eff Date], a.[Fed ID] as '834PCP', b.[Provider ID] as '040914PCP', c.PCP_Nbr as 'MEPCP', d.PCP_Nbr as 'PCPHistoryActivePCP',
IIF(a.[Fed ID] = d.PCP_Nbr, 'MatchPCPHistory', 'NOMATCH') as '834_PCP_HistoryMatch',
IIF(a.[Fed ID] = b.[Provider ID] , 'Match0409PCP', 'NOMATCH') as '834_0409Match'

在那之后我想要另一个IIF ......

IIF(IIF(a.[Fed ID] = d.PCP_Nbr, 'MatchPCPHistory', 'NOMATCH') = 'MatchPCPHistory' 
AND IIF(a.[Fed ID] = b.[Provider ID] , 'Match0409PCP', 'NOMATCH') = 'Match0409PCP', 'UPDATE', 'NOUPDATE')

有助于在视觉上包含这个最终的iif语句,以便将它传递给我的高层。

这个查询没有用,但也许我可以得到它?我知道Access很敏感。

提前致谢!

1 个答案:

答案 0 :(得分:1)

你可以这样做,但你想首先做到吗?您已经知道导致这些值的原始条件,因此请使用原始条件而不是值。试试这个:

IIF(a.[Fed ID] = d.PCP_Nbr AND a.[Fed ID] = b.[Provider ID], 'UPDATE', 'NOUPDATE')