本帖最后由 aaajedll 于 2010-06-10 15:36:22 编辑

解决方案 »

  1.   

    iWorkPlaceID1,iWorkPlaceID2,iWorkPlaceID3 这3字段都跟第2张表关联,然后判断优先级如:iWorkPlaceID3 不空就显示 iWorkPlaceID3  ELSE iWorkPlaceID2 不空显示iWorkPlaceID2
    ELSE iWorkPlaceID1
      

  2.   


    已经解决,但是希望大家能够提供效率更高的sql
      

  3.   

    引用 2 楼 caixia615 的回复:
    iWorkPlaceID1,iWorkPlaceID2,iWorkPlaceID3 这3字段都跟第2张表关联,然后判断优先级如:iWorkPlaceID3 不空就显示 iWorkPlaceID3 ELSE iWorkPlaceID2 不空显示iWorkPlaceID2
    ELSE iWorkPlaceID1
    还要把每个字段内的内容组合在一起,你没有看图
      

  4.   

    select nvcJobName,dtUpdateTime,concat(concat(place1,place2),plac3),vcCount from 
    (select nvcJobName,dtUpdateTime,vcCount,
    case iWorkPlaceID1
    when -1 then ''
    else (select nvcName from tb_b_Area where iID=iWorkPlaceID1) 
    end as place1,
    case iWorkPlaceID2
    when -1 then ''
    else (select nvcName from tb_b_Area where iID=iWorkPlaceID2) 
    end as place2,  
    case iWorkPlaceID3
    when -1 then ''
    else (select nvcName from tb_b_Area where iID=iWorkPlaceID3) 
    end as place3,
    from JobInfo) as data