select t.tbID,count(t.id) as total from _goodinfos as t inner join _goodslist as f on t.tbID = f.tbID where t.total <> f.totals group by t.tbIDF 表 TBID字段是唯一 TOTALS 字段是记录 T 表中TBID 对应的个数现在就是想查找 F表中TBID 所对应的T表中是否有  TOTALS 个记录F 表  一对多  T表

解决方案 »

  1.   

    with cte
    as
    (
    select f.tbID,
    sum(case f.totals when f.totals>0 then 1 else 0 end) stat
    from
    _goodslist as f left join _goodinfos as t on f.tbID=t.tbID
    group by f.tdID
    )select cte.tbID,case when cte.stat>0 when '存在' else '不存在' end 状态
    from
    cte
      

  2.   

    可否给个 MYSQL的例子  谢谢了  
      

  3.   

    SELECT  f.tbID ,
            COUNT(t.id) AS total
    FROM    _goodinfos AS t
            INNER JOIN _goodslist AS f ON t.tbID = f.tbID
    GROUP BY f.tbID貌似不用那么复杂吧,有少量数据看看不?
      

  4.   

    这样要用left join吧,参照表应该是f表吧
      

  5.   

    现在就是想查找 F表中TBID 所对应的T表中是否有  TOTALS 个记录
     
    F 表  一对多  T表 
    当T表中tdid数据不全时,是显示不出来所有类别的信息。
      

  6.   

    T.TOTAL  不存在  搞不懂 
      

  7.   

    这是提示的你t表中不存在total这个字段
      

  8.   

    全用的UTF-8  字符编码  所以都是乱码 要转码才 高手们指导一下 两个表的数据都每天导入 总有F表中TOTALS 是多个  T表中只有条记录  
      
    该函数能做到  就是想看能不能用一条SQL语句 找出来 不能对应的ID 和TBID编号   
      

  9.   

    这是提示的你t表中不存在total这个字段total  是  "count(id) as total" 计数后生成的字段  在ACCESS数据库中试了 也不对 
      

  10.   

    你的total都是在select的时候才生成的,在where中是不能用到的,可以先算出来成为一个结果集,然后再使用子查询来调用
      

  11.   


    求 教 SQL 怎么写