select distinct count(*) 
From dbo.ZCWFiles ZF 
INNER JOIN dbo.Workflow W 
ON W.MID=ZF.[Type] select distinct count(*) from dbo.ZCWFiles  
为什么这两条语句得到的结果不一样哪,能详细解释一下第一条语句吗

解决方案 »

  1.   

    第一条要和WORKFLOW表对比
    第二条不用
      

  2.   

    1.第一条SQL是两表关联?
    2.第二条直接查一个表?
    那这数据不能保证一样.
      

  3.   

     W.MID=ZF.[Type]  只有相等的数据
      

  4.   

    select distinct count(*) from dbo.ZCWFiles   
    你这样COUNT(*)只有一条,你还要DISTINCT?
      

  5.   

    第一条的限制条件比第二条多,具体数据得到结果就不一样啊select distinct count(*) from dbo.ZCWFiles  distinct是没有必要
      

  6.   

    这也不一定,连接可能出来更多的行,如第二表相同的MID多,
    A
    1--2
    B
    1--3
    1--4返回是会多的
      

  7.   

    第一条是两个表,比第二条比对的distinct数据多,当然会不一样啊
      

  8.   

    第一条的限制条件比第二条多,具体数据得到结果就不一样啊select distinct count(*) from dbo.ZCWFiles   distinct是没有必要
      

  9.   

    第一个是查询两个表中做匹配成功的个数,也就是说返回w.mid=zf.[type]满足这个条件的个数,返回的是统计的个数,所以你这个distinct去重复行的就没必要写了
    第二个是直接返回dbo.ZCWFiles的表中的行数,也是没必要加distinct