关于获得不同记录列值不同的问题
最近遇到个问题
有一个列比较多的表,想判断两条记录中,究竟哪些值不一样。
想直接获得列名,以及不同的值
看看都有什么办法?
------解决方案----------------------改下钻石的语句
declare @sql varchar(8000)
set @sql= ' '
select @sql=@sql+ '+(case when a.[ '+name+ ']!=b.[ '+name+ '] then ' ', '+name+ ':( ' '+rtrim(a. '+name+ ')+ ' ': ' '+rtrim(b. '+name+ ')+ ' ') ' ' else ' ' ' ' end) '
from syscolumns where id=object_id( 'RsRecord ') and name!= 'id '
set @sql= 'select stuff( '+stuff(@sql,1,1, ' ')+ ',1,1, ' ' ' ') as difference from RsRecord_S a,RsRecord b where a.id=1 and b.id=1 '
exec(@sql)