当字段PostADDR=1时,取ADDR1,ADDR2字段,当字段PostADDR=2时,取CPY_ADDR1,CPY_ADDR2字段,SQL语句怎么写,表名是INApply_BaseInfo

解决方案 »

  1.   

    select case when PostADDR=1 then ADDR1,ADDR2 when PostADDR=2 then CPY_ADDR1,CPY_ADDR2 from INApply_BaseInfo
      

  2.   


    select case PostADDR when 1 then ADDR1  when 2 then CPY_ADDR1 end as ADDR1,
    case PostADDR when 1 then ADDR2  when 2 then CPY_ADDR2 end as ADDR2,
    from INApply_BaseInfo
      

  3.   

    楼主,看看连接帮助,搜索一下Case的用法你就清楚了
      

  4.   

    SELECT a.*, c.codeName + '/' + b.AttendanceTimeName AS TeamID_Name, 
          CASE a.Submit WHEN '0' THEN '未提交' WHEN '1' THEN '已提交' END AS Submit_Name
    FROM dbo.Report_Coil_ProduceBill a LEFT OUTER JOIN
          dbo.codeList c ON a.TeamID = c.codeListId LEFT OUTER JOIN
          dbo.bas_Attendance b ON a.AttendanceID = b.ID
      

  5.   


    出现错误啊 在关键字 'from' 附近有语法错误。
      

  6.   

    不好意思,多了个逗号,'from' 前面的逗号去掉
      

  7.   

    case when 条件1 then 结果1 else 结果2 end
      

  8.   

    select case PostADDR when 1 then ADDR1  when 2 then CPY_ADDR1 end as ADDR1,
    case PostADDR when 1 then ADDR2  when 2 then CPY_ADDR2 end as ADDR2
    from INApply_BaseInfo