select (t2.mc||t1.mc||t.mc) as mc,count(tsq.xq_dm)
from T  t left join  T_SQ tsq on tsq.xq_dm=t.xzqh_dm  , T t1 ,T2 t2
where t1.xzqh_dm=t.ssfw and t2.xzqh_dm=t1.ssfw  group by t.mc,t1.mc,t2.mc order by t2.mc我还想对T_SQ这个表再连接个表查询怎么做?

解决方案 »

  1.   

    把他做为子查询?select m1.* , m2.* from m1,
    (
    select (t2.mc||t1.mc||t.mc) as mc,count(tsq.xq_dm)
    from T  t left join  T_SQ tsq on tsq.xq_dm=t.xzqh_dm  , T t1 ,T2 t2
    where t1.xzqh_dm=t.ssfw and t2.xzqh_dm=t1.ssfw  group by t.mc,t1.mc,t2.mc order by t2.mc
    ) m2
    where ...
      

  2.   

    刚才没看清楚:
    你这段:
    left join  T_SQ tsq on tsq.xq_dm=t.xzqh_dm  , T t1 ,T2 t2什么乱七八糟的?
      

  3.   

    select ......
    from t,t_sql,tttd
    where t.id(+)=t_sql.id and
          t_sql.ttl(+)=tttd.ttl;
      

  4.   

    错了!
    select ......
    from t,t_sql,tttd
    where t.id=t_sql.id(+) and
          t_sql.ttl=tttd.ttl(+);
    一觉睡醒,有点晕
      

  5.   

    我补充下吧,
    select (t2.mc||t1.mc||t.mc) as mc,count(tsq.xq_dm)
    from T  t left join  T_SQ tsq on tsq.xq_dm=t.xzqh_dm  , T t1 ,T2 t2
    where t1.xzqh_dm=t.ssfw and t2.xzqh_dm=t1.ssfw  group by t.mc,t1.mc,t2.mc order by t2.mc
    能查询出来两列我还想再加一列查询,加的这一列查询要再用一张表,判断条件和 T_SQ 的一列相同怎么做?
      

  6.   


    --不知道可不可以
    select (t2.mc||t1.mc||t.mc) as mc,count(tsq.xq_dm)
    from T t left join T_SQ tsq on tsq.xq_dm=t.xzqh_dm 
         left join new_table nt on T_SQL.id=nt.id,
         T t1 ,T2 t2
    where t1.xzqh_dm=t.ssfw and t2.xzqh_dm=t1.ssfw group by t.mc,t1.mc,t2.mc order by t2.mc
      

  7.   


    这个试过了,能查询出来值 ,不过数不对 我想变成这样 红色的是新加的可是数和蓝色的一样了select (t2.mc||t1.mc||t.mc) as mc,count(tsq.xq_dm)count(nt.id)
    from T t left join T_SQ tsq on tsq.xq_dm=t.xzqh_dm 
         left join new_table nt on T_SQL.id=nt.id,
         T t1 ,T2 t2
    where t1.xz……
      

  8.   

    这说明数据库表里面:tsq.xq_dm),nt.id的数量相同
      

  9.   


    --原句:怎么T表重复出现两次?加‘*’号的地方,
    select (t2.mc||t1.mc||t.mc) as mc,
           count(tsq.xq_dm)
    from T  t left join  T_SQ tsq 
         on tsq.xq_dm=t.xzqh_dm  , 
         *T t1 ,T2 t2
    where t1.xzqh_dm=t.ssfw and 
          t2.xzqh_dm=t1.ssfw  
    group by t.mc,t1.mc,t2.mc 
    order by t2.mc
    --难道是这样
    select (t2.mc||t1.mc||t.mc) mc,
           count(tsq.xq_dm) xq_dm
    from T t left join T_SQ tsq 
         on tsq.xq_dm=t.xzqh_dm 
            left join new_table nt 
         on tsq.id=nt.id,
         T1 t1 ,T2 t2
    where t1.xzqh_dm=t.ssfw and 
          t2.xzqh_dm=t1.ssfw 
    group by t.mc,t1.mc,t2.mc 
    order by t2.mc
    --不管怎么样,你的表字段命名太丑了,用英文单词多好记啊!
    --我想着也是影响你的一个原因吧!
      

  10.   

    加了,一堆 left join on .