如何将if语句合并到join语句中?

时间:2019-05-06 18:50:02

标签: if-statement join left-join case sql-server-2014

我试图基于五个条件联接两个表,但是在某些情况下,它可能仅在前三个条件上匹配。所以我希望那些结果与所有5个都不匹配。

我已经检查了右表中是否存在重复项,我应该获得与左表中相同的行数。我尝试了以下5条条件和3条条件之间的陈述。是否可以对此进行修改,或者可以将if语句合并到代码中。我真的是SQL新手。

select  *
from [dbo].[SecondJoinwithCLFC] as c
left join [dbo].[FALC_long] as d
    on (c.[ST_clfc] = d.[ST] and c.[CountyCode] = d.[CNTY] and c.CROPNAME_clfc = d.CROP and c.[Township] = d.[TWP] and c.[Range] = d.[RGE]) or (c.[ST_clfc] = d.[ST] and c.[CountyCode] = d.[CNTY] and c.CROPNAME_clfc = d.CROP)

我的右表d中有些情况。其中TWP和RGE分别为0000,0000,并且在这些情况下,当尝试在所有5个条件上进行连接时,其给出的值为空,但在这种情况下,它在前3个条件上确实匹配;这就是我要输出的。

0 个答案:

没有答案