例如有这样一个表,假设里面有两条数据像这样
id name age something
1 aa 12 abx
2 bb 12 abc
我想要对比这两条数据,用第二条和第一条比,把两条数据不同的列查出来得到这样一个结果
id name something
2 bb abc
注:真实的表中是有很多列的.
在线等答案.请有解决方法的大神们指点下,先谢谢了.
FYI
http://www.kodyaz.com/articles/sql-string-manipulation-to-find-difference.aspx
这个问题很有意思,能跟说说这样做的用处吗,或者是什么样的需求,这个问题在google上,不大好描述。。。
用处就是需求中用户想知道发起合同变更后他更改了哪些字段
@Gryzor: 用前台写最直接,把数据读出来进行遍历,最多就是写个专用的函数,用SQL 语句写的话,得好好查查,挺实用的需求。。。
这种不推荐在数据库搞 吧,C#代码要好写点,数据库的话,先行转列,然后匹配完之后,再转回来。
这个很容易啊,你把几列合并成一列,然后再对比就好了。
select b.id,b.name,b.some1,b.some2,b.some3 from table1 A,table1 B
where rtrim(a.some1)+rtrim(a.some2)+rtrim(a.some3) = rtrim(b.some1)+rtrim(b.some2)+rtrim(b.some3)