select t1.id,t1.userid,t.text 
from t1,(select distinct * from t2)t 
where t1.id=t.id(+)

解决方案 »

  1.   

    为什么
    select t1.id,t1.userid,t.text 
    from t1,(select distinct * from t2)t 
    where t1.id=t.id(+)是5600条而
    select t1.id,t1.userid,t.text 
    from t1
    是5000条呢?数量应该一样才对啊?  -_-!!!  气死我了...搞了两天,就搞不明白
      

  2.   


    结果写错,改为:得出结果是
    id    users     text
    ------------------------
    1    aa    nn
    2    aa    mm
    2    tt    mm
    3    bb
    4    cc
      

  3.   

    谢谢 sasacat(傻傻猫) ,我的意思是指表1所有行关联(而且只关联一次)上表2,
    所以表1如果为100行的话,两表关联之后应该依然是100行啊!谢谢
      

  4.   

    只关联一次~~~~ 这个要求太奇妙了
    这样试试看呢select t1.id,t1.userid,(select min(text) from t2 where t2.id=t1.id )
    from t1
      

  5.   

    问题就出在,你表T1有重复ID,所以与表T2左联接,当然会多一些记录了.