select signDate,min(case when t.userid='bfg1' then t.signTime else null end ) as 'bfg1',
(case when t.userid='dp' then t.signTime else null end ) as 'dp',(case when t.userid='fw1' then t.signTime else null end ) as 'fw1',
(case when t.userid='fwdk' then t.signTime else null end ) as 'fwdk',(case when t.userid='kf1' then t.signTime else null end ) as 'kf1'
from temp_UserSignIntable t
group by signDate,signTime,userid
怎么将图片上的数据合并到一块???? 就是每一天只有一行。
你的描述并不清楚,除了日期合并之外,其他的字段如何处理?取“非null”的字段?如果两个字段都有日期(这种可能行存在么?)的话如何处理,问题描述清楚 了,别人才有可能帮到你。
已经修改过了 。谢谢。这个问题刚刚已经解决了 。
declare @sql varchar(500)set @sql='select signdate'
select @sql=@sql+',min(case userid when '''+ userid+''' then signTime else null end) ['+userid+']'
from (select distinct userid from temp_UserSignIntable) a
set @sql=@sql + ' from temp_UserSignIntable group by SignDate'
exec(@sql)
但是仍然非常感谢你的建议。有兴趣的话交个朋友 QQ1754819299,多交流。我是个新手
@Shang0109: 写的存储过程。。。648960915.可以一起学习。。
如果你没有值的地方都是null或者空那么就容易了
select signDate,isnull(max(bfg1),"")... from table group by signDate