当前位置: 代码迷 >> Sql Server >> left join 加条件判断,该怎么处理
  详细解决方案

left join 加条件判断,该怎么处理

热度:24   发布时间:2016-04-24 10:43:55.0
left join 加条件判断
select *
from SCG G
left join 
FGYS S
ON G.ID=S.ID
left join 
HUTS H
IF(LEN(H.vNAME)>0)
ON H.ID=S.ID
ELSE
ON H.AID=S.ID
END

红色部分报错,求解,谢谢
------解决方案--------------------
select *
from SCG G
left join 
FGYS S
ON G.ID=S.ID
left join 
HUTS H

ON ( ( LEN(H.vNAME)>0 and H.ID=S.ID) or  (LEN(H.vNAME)<=0 and H.AID=S.ID) )




------解决方案--------------------

select *
 from SCG G
 left join FGYS S ON G.ID=S.ID
 left join HUTS H on S.ID=case when LEN(H.vNAME)>0 then H.ID else H.AID end
  相关解决方案