表t1
r_id   f_id   r_name
r_id是唯一表t2
r_id   f_id   f_name
r_id+f_id是唯一
要查询出
r_name   f_namet1、t2表外关联查询,要查出t1表中所有的数据,这个要怎么做?

解决方案 »

  1.   

    需求不明确,要的不是这个吗
    select t1.r_name,t2.f_name from t1,t2 where t1.r_id=t2.r_id
    关联要查t1表所有数据就是这样咯
      

  2.   

    t2表中 r_id加f_id才能确定一条唯一记录
    正常是
    select t1.r_name,t2.f_name from t1,t2 where t1.r_id=t2.r_id and t1.f_id=t2.f_id
    这样查出需要的数据。现在问题是t2表的数据有问题,数据不够全,但是要显示t1表里全部数据。
    人家说这样数据正常,没办法,我们只能通过外连接,把 t1表的数据都给查出来,至于t2表里没有对应name的就空着
      

  3.   

    那就这样
    select t1.r_name,t2.f_name from t1,t2 where t1.r_id=t2.r_id(+)
      

  4.   

    如果
    t1
    r_id   f_id   r_name
     1      1      名称1
     2      1      名称2
     3      2      名称3t2
    r_id   f_id    f_name
     1      1       失败1
     1      2       失败2
     2      1       另一种失败1
     2      2       另一种失败2
     3      1       再一种失败1
     3      2       再一种失败2这是正常的
    如果这样的数据?
      

  5.   

    select t1.r_name,t2.f_name from t1 left join t2 on t1.r_id=t2.r_id and t1.f_id=t2.f_id;
    不知道你要的是不是这样的
      

  6.   

    我后来是这样做的
    select a.r_name,b.f_name
    from (select r_id||f_id fr_id,r_name from t1) a,
         (select r_id||f_id fr_id,f_name from t2) b
    where a.fr_id=b_fr_id(+)