在做日程设计的时候,一个用户一天有上午、下午两条记录。怎么用sql语句把两条记录合并成一条显示在列表中?用left join 会出现重复显示。先写过大婶们啦SQL Server

解决方案 »

  1.   

    大概格式:
    select 用户名,max(上午记录) 上午记录,max(下午记录)下午记录
    from(
    select 用户名,上午记录,null as 下午记录
    from tb
    union all 
    select 用户名,null as  上午记录,下午记录
    from tb
    )a
    group by 用户名
      

  2.   

    select 用户名,max(上午记录) 上午记录,max(下午记录)下午记录,详情,记录日期
    from(
    select 用户名,上午记录,null as 下午记录,详情,记录日期
    from tb
    union all 
    select 用户名,null as  上午记录,下午记录,详情,记录日期
    from tb
    )a
    group by 用户名 ,详情,记录日期
    你要先清楚我这个是干嘛的