sqlserver里面有没有判断两个查询语句的结果一样的函数,两个查询语句如下:
SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM bFileTree1 where nid=143 
SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM ConcurrentbFileTree1 where nid=143 
现在我想要判断这两个查询到的记录是不是一样的,请大家帮帮忙!

解决方案 »

  1.   

    SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM bFileTree1 where nid=143
    except  
    SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM ConcurrentbFileTree1 where nid=143 
      

  2.   

    select case when A.[Tag3MS] is null then 'bFileTree1' when B.[Tag3MS] is null then 'ConcurrentbFileTree1' else A.[Tag3MS] end,*
    from (SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM [bFileTree1] where nid=143) A full join (SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM [ConcurrentbFileTree1] where nid=143) B
    On A.nid=B.nid
      

  3.   

    SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM bFileTree1 where nid=143
    except  
    SELECT Tag3MS,Tag2MS,Tag1,Tag1MS,Txt1,Txt2,Codeclass,users,CAddfile FROM ConcurrentbFileTree1 where nid=143 有记录说明不一致
      

  4.   

    给你教另外的一种 处理方式,
    不过就是有点罗嗦,,你声明两个参数,然后在两条SQL语句吧所有的列拼接起来,然后将得到的一列数据付给相应的参数,接着你判断两个参数得到的值是否相同,,MS_SQL系统函数没有,,不过你可以写一个这样的函数啊
      

  5.   

    不好意思,补充一句,我是在sql2000中执行该查询
      

  6.   


    select rw,case when a=b then '相同记录' else '不同的记录' end 
    from(
    (SELECT Tag3MS+Tag2MS+Tag1+Tag1MS+Txt1+Txt2+Codeclass+users+CAddfile as a,row_number() over (order by select 1) as rw
    FROM bFileTree1 where nid=143 )as a join 
    (SELECT Tag3MS+Tag2MS+Tag1+Tag1MS+Txt1+Txt2+Codeclass+users+CAddfile as b,row_number() over (order by select 1) as rw
    FROM ConcurrentbFileTree1 where nid=143)as b
    on a.rw=b.rw)as a
      

  7.   

    无专门的语句比较,
    要比较结果是否相同,一个语句难实现
    如果两个结果无重复,简单的方法
    先查两结果记录是否相同,如不同,则不一样,
    如记录数相同,再将两结果用union合并,查合并后记录数,如记录数不变,则两查询结果相同