A表是图片表
B表是用户表
......
如果B表中用户头像字段不为空
那么就先查询出B表中用户头像字段
......
如果B表中用户头像字段为空
并且用户在A表中发布过图片
那么就查询出A表中的图片地址字段
如果用户没有在A表中发布过图片
那么就查出一个默认值'xxxx.jpg'
......

解决方案 »

  1.   

    A表是用户表 :
    用户ID(标识)   头像地址  
    B表是图片表 :
    图片ID(标识)   图片地址    用户ID   
      

  2.   

    select a.用户id,a.头像地址,isnull(b.图片地址,'xxxxx.jpg') from 用户表 a left outer join
    (select * from 图片表) b on a.用户id=b.用户id
      

  3.   

    select 
         用户ID,
        (CASE WHEN 头像地址='默认值' THEN isnull((select top 1 图片地址 from B where 用户ID=A.用户ID),'xx.jpg'))
              ELSE 头像地址
          END) as 头像地址
    from
         A
    干嘛开2个一样的帖子